def test_method_as_dict(self): """ Tests the as_dict method """ xml_element = self.load_example_element() xccdf_element = Element(xml_element) attr_list = xccdf_element.attrs element_dict = xccdf_element.as_dict() self.assertEqual(element_dict['namespace'], xccdf_element.namespace, 'Namespace does not match') self.assertEqual(element_dict['name'], xccdf_element.name, 'Tag name does not match') self.assertEqual(element_dict['text'], xccdf_element.text, 'Text content does not match') attr_dict = element_dict['attrs'] for attr in attr_list: self.assertIsNotNone( attr_dict.get(attr, None), '{attr} attr no in dictionary'.format(attr=attr)) self.assertEqual(getattr(xccdf_element, attr), attr_dict.get(attr), '{attr} value does not match'.format(attr=attr)) for attr, value in iter(attr_dict.items()): self.assertIn(attr, attr_list, 'Unexpected attr in dictionary')
def test_method_as_dict_no_attrs(self): """ Tests the as_dict method without attrs """ xml_element = self.load_example_element() xccdf_element = Element(xml_element) xccdf_element.attrs = [] attr_dict = xccdf_element.as_dict()['attrs'] self.assertEqual(attr_dict, dict(), 'as_dict dictionary is not empty')
def test_method_as_dict(self): """ Tests the as_dict method """ xml_element = self.load_example_element() xccdf_element = Element(xml_element) attr_list = xccdf_element.attrs element_dict = xccdf_element.as_dict() self.assertEqual(element_dict['namespace'], xccdf_element.namespace, 'Namespace does not match') self.assertEqual(element_dict['name'], xccdf_element.name, 'Tag name does not match') self.assertEqual(element_dict['text'], xccdf_element.text, 'Text content does not match') attr_dict = element_dict['attrs'] for attr in attr_list: self.assertIsNotNone( attr_dict.get(attr, None), '{attr} attr no in dictionary'.format(attr=attr)) self.assertEqual( getattr(xccdf_element, attr), attr_dict.get(attr), '{attr} value does not match'.format(attr=attr)) for attr, value in iter(attr_dict.items()): self.assertIn(attr, attr_list, 'Unexpected attr in dictionary')