Skip to content

Commit

Permalink
Remove expected items from the diff
Browse files Browse the repository at this point in the history
We will remove each found expected item from the diff and at the
end of the test we will test whether the diff is empty IOW that it
doesn't contain any unexpected items.
  • Loading branch information
jan-cerny committed Oct 20, 2022
1 parent 0140136 commit 3c3d4bb
Showing 1 changed file with 49 additions and 37 deletions.
86 changes: 49 additions & 37 deletions tests/unit/ssg-module/test_id_translate.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,43 +137,55 @@ def test_idtranslator_translate_oval_xmldiff(idtranslator, oval_tree):
inverted_new_nsmap = {v: k for k, v in old.nsmap.items()}
o = inverted_new_nsmap[oval_namespace]
ou = inverted_new_nsmap[oval_unix_namespace]
real_diff = set(xmldiff_main.diff_trees(old, new))
expected_diff = {
xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:definitions/{o}:definition[1]',
name='id',
value='oval:ssg-kerberos_disable_no_keytab:def:1'),
xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:tests/{ou}:file_test[1]',
name='id',
value='oval:ssg-test_kerberos_disable_no_keytab:tst:1'),
xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:objects/{ou}:file_object[1]',
name='id',
value='oval:ssg-obj_kerberos_disable_no_keytab:obj:1'),
xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:states/{ou}:file_state[1]',
name='id',
value='oval:ssg-filter_ssh_key_owner_root:ste:1'),
xmldiff_actions.UpdateAttrib(
node=(
f'/{o}:oval_definitions/{o}:tests/{ou}:file_test/'
f'{ou}:object[1]'),
name='object_ref',
value='oval:ssg-obj_kerberos_disable_no_keytab:obj:1'),
xmldiff_actions.UpdateTextIn(
node=(
f'/{o}:oval_definitions/{o}:objects/{ou}:file_object/'
f'{o}:filter[1]'),
text='oval:ssg-filter_ssh_key_owner_root:ste:1'),
xmldiff_actions.UpdateAttrib(
node=(
f'/{o}:oval_definitions/{o}:definitions/{o}:definition/'
f'{o}:criteria/{o}:criterion[1]'),
name='test_ref',
value='oval:ssg-test_kerberos_disable_no_keytab:tst:1')
}
assert real_diff == expected_diff
diff = set(xmldiff_main.diff_trees(old, new))
uadefid = xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:definitions/{o}:definition[1]',
name='id',
value='oval:ssg-kerberos_disable_no_keytab:def:1')
assert uadefid in diff
diff.remove(uadefid)
uaftestid = xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:tests/{ou}:file_test[1]',
name='id',
value='oval:ssg-test_kerberos_disable_no_keytab:tst:1')
assert uaftestid in diff
diff.remove(uaftestid)
uafoid = xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:objects/{ou}:file_object[1]',
name='id',
value='oval:ssg-obj_kerberos_disable_no_keytab:obj:1')
assert uafoid in diff
diff.remove(uafoid)
uafsid = xmldiff_actions.UpdateAttrib(
node=f'/{o}:oval_definitions/{o}:states/{ou}:file_state[1]',
name='id',
value='oval:ssg-filter_ssh_key_owner_root:ste:1')
assert uafsid in diff
diff.remove(uafsid)
uaftoref = xmldiff_actions.UpdateAttrib(
node=(
f'/{o}:oval_definitions/{o}:tests/{ou}:file_test/'
f'{ou}:object[1]'),
name='object_ref',
value='oval:ssg-obj_kerberos_disable_no_keytab:obj:1')
assert uaftoref in diff
diff.remove(uaftoref)
utfofilter = xmldiff_actions.UpdateTextIn(
node=(
f'/{o}:oval_definitions/{o}:objects/{ou}:file_object/'
f'{o}:filter[1]'),
text='oval:ssg-filter_ssh_key_owner_root:ste:1')
assert utfofilter in diff
diff.remove(utfofilter)
uacrittref = xmldiff_actions.UpdateAttrib(
node=(
f'/{o}:oval_definitions/{o}:definitions/{o}:definition/'
f'{o}:criteria/{o}:criterion[1]'),
name='test_ref',
value='oval:ssg-test_kerberos_disable_no_keytab:tst:1')
assert uacrittref in diff
diff.remove(uacrittref)
assert diff == set()


def test_idtranslator_translate_oval_store_defname(idtranslator, oval_tree):
Expand Down

0 comments on commit 3c3d4bb

Please sign in to comment.