Esempio n. 1
0
 def test_dict_to_etree_nodes_with_attr_and_text(self):
     node1_text = 'Hai, I R node1!'
     node2_text = 'I do not talk to strangers'
     nodes_with_attr_and_text = {
         'node1': {
             '@personality': 'brave',
             '#text': node1_text,
         },
         'node2': {
             '@personality': 'shy',
             '#text': node2_text,
             '@age': '21',
         }
     }
     helpers.dict_to_etree(nodes_with_attr_and_text, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 2
     assert set(nodes_with_attr_and_text.keys()) == mapped_nodes
     assert self.root[0].text == node1_text
     assert self.root[1].text == node2_text
     assert self.root[0].get('personality') == 'brave'
     assert self.root[1].get('personality') == 'shy'
     assert self.root[1].get('age') == '21'
     assert 'age' not in self.root[0].attrib
Esempio n. 2
0
 def test_dict_to_etree_list_of_nodes(self):
     list_of_nodes = {
         'node1': [
             {'subnode11': None},
         ],
         'node2': [
             {'subnode21': None},
             {'subnode22': None},
         ],
         'node3': [
             {'subnode31': None},
         ],
         'node4': [
             'simple text',
             None,
             None
         ]
     }
     helpers.dict_to_etree(list_of_nodes, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 6
     assert set(list_of_nodes.keys()) == mapped_nodes
     assert len(self.root[0]) == 1
     assert len(self.root[1]) == 1
     assert len(self.root[2]) == 2
Esempio n. 3
0
 def test_dict_to_etree_list_of_nodes(self):
     list_of_nodes = {
         'node1': [
             {
                 'subnode11': None
             },
         ],
         'node2': [
             {
                 'subnode21': None
             },
             {
                 'subnode22': None
             },
         ],
         'node3': [
             {
                 'subnode31': None
             },
         ],
         'node4': ['simple text', None, None]
     }
     helpers.dict_to_etree(list_of_nodes, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 6
     assert set(list_of_nodes.keys()) == mapped_nodes
     assert len(self.root[0]) == 1
     assert len(self.root[1]) == 1
     assert len(self.root[2]) == 2
Esempio n. 4
0
 def test_dict_to_etree_nodes_with_attr_and_text(self):
     node1_text = 'Hai, I R node1!'
     node2_text = 'I do not talk to strangers'
     nodes_with_attr_and_text = {
         'node1': {
             '@personality': 'brave',
             '#text': node1_text,
         },
         'node2': {
             '@personality': 'shy',
             '#text': node2_text,
             '@age': '21',
         }
     }
     helpers.dict_to_etree(nodes_with_attr_and_text, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 2
     assert set(nodes_with_attr_and_text.keys()) == mapped_nodes
     assert self.root[0].text == node1_text
     assert self.root[1].text == node2_text
     assert self.root[0].get('personality') == 'brave'
     assert self.root[1].get('personality') == 'shy'
     assert self.root[1].get('age') == '21'
     assert 'age' not in self.root[0].attrib
Esempio n. 5
0
 def test_dict_to_etree_nodes_with_text(self):
     node1_text = "Hai, I R node1!"
     node2_text = "I do not talk to strangers"
     nodes_with_text = {"node1": node1_text, "node2": node2_text}
     helpers.dict_to_etree(nodes_with_text, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 2
     assert set(nodes_with_text.keys()) == mapped_nodes
     assert self.root[0].text == node1_text
     assert self.root[1].text == node2_text
Esempio n. 6
0
    def test_dict_to_etree(self):
        u"""Tests the conversion of dict to ``lxml.etree`` structure."""
        with pytest.raises(AttributeError) as exc:
            helpers.dict_to_etree(['node'], self.root)

        assert 'Argument is neither dict nor basestring' in str(exc.value)

        helpers.dict_to_etree({'single_node': None}, self.root)
        # A dict with one empty key should be converted to an etree element with one child.
        assert etree.iselement(self.root)
        assert len(self.root) == 1
        assert self.root[0].tag == 'single_node'
Esempio n. 7
0
    def test_dict_to_etree(self):
        u"""Tests the conversion of dict to ``lxml.etree`` structure."""
        with pytest.raises(AttributeError) as exc:
            helpers.dict_to_etree(['node'], self.root)

        assert 'Argument is neither dict nor basestring' in str(exc.value)

        helpers.dict_to_etree({'single_node': None}, self.root)
        # A dict with one empty key should be converted to an etree element with one child.
        assert etree.iselement(self.root)
        assert len(self.root) == 1
        assert self.root[0].tag == 'single_node'
Esempio n. 8
0
 def test_dict_to_etree_nodes_with_text(self):
     node1_text = 'Hai, I R node1!'
     node2_text = 'I do not talk to strangers'
     nodes_with_text = {
         'node1': node1_text,
         'node2': node2_text,
     }
     helpers.dict_to_etree(nodes_with_text, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 2
     assert set(nodes_with_text.keys()) == mapped_nodes
     assert self.root[0].text == node1_text
     assert self.root[1].text == node2_text
Esempio n. 9
0
 def test_dict_to_etree_list_of_nodes(self):
     list_of_nodes = {
         "node1": [{"subnode11": None}],
         "node2": [{"subnode21": None}, {"subnode22": None}],
         "node3": [{"subnode31": None}],
         "node4": ["simple text", None, None],
     }
     helpers.dict_to_etree(list_of_nodes, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 6
     assert set(list_of_nodes.keys()) == mapped_nodes
     assert len(self.root[0]) == 1
     assert len(self.root[1]) == 1
     assert len(self.root[2]) == 2
Esempio n. 10
0
 def test_dict_to_etree_nodes_with_attr_and_text(self):
     node1_text = "Hai, I R node1!"
     node2_text = "I do not talk to strangers"
     nodes_with_attr_and_text = {
         "node1": {"@personality": "brave", "#text": node1_text},
         "node2": {"@personality": "shy", "#text": node2_text, "@age": "21"},
     }
     helpers.dict_to_etree(nodes_with_attr_and_text, self.root)
     mapped_nodes = {node.tag for node in self.root}
     assert etree.iselement(self.root)
     assert len(self.root) == 2
     assert set(nodes_with_attr_and_text.keys()) == mapped_nodes
     assert self.root[0].text == node1_text
     assert self.root[1].text == node2_text
     assert self.root[0].get("personality") == "brave"
     assert self.root[1].get("personality") == "shy"
     assert self.root[1].get("age") == "21"
     assert "age" not in self.root[0].attrib
Esempio n. 11
0
 def test_dict_to_etree_lists_with_none(self):
     u"""Tests the conversion of dict with empty children to an lxml tree."""
     xml_dict = {
         'node1': [
             None,
             None,
         ]
     }
     etree_from_dict = helpers.dict_to_etree(xml_dict, self.root)
     assert etree.iselement(etree_from_dict)
     assert etree.tostring(etree_from_dict) == '<root><node1/><node1/></root>'
Esempio n. 12
0
 def test_dict_to_etree_lists_with_none(self):
     u"""Tests the conversion of dict with empty children to an lxml tree."""
     xml_dict = {
         'node1': [
             None,
             None,
         ]
     }
     etree_from_dict = helpers.dict_to_etree(xml_dict, self.root)
     assert etree.iselement(etree_from_dict)
     assert etree.tostring(
         etree_from_dict) == '<root><node1/><node1/></root>'
Esempio n. 13
0
 def test_dict_to_etree_lists_with_mixed_children(self):
     u"""Tests the conversion of dicts with different children to an lxml tree."""
     xml_dict = {
         'node1': [None, None, {
             '#text': 'text_node',
         }]
     }
     etree_from_dict = helpers.dict_to_etree(xml_dict, self.root)
     assert etree.iselement(etree_from_dict)
     assert etree.tostring(
         etree_from_dict
     ) == '<root><node1/><node1/><node1>text_node</node1></root>'
Esempio n. 14
0
 def test_dict_to_etree_lists_with_mixed_children(self):
     u"""Tests the conversion of dicts with different children to an lxml tree."""
     xml_dict = {
         'node1': [
             None,
             None,
             {
                 '#text': 'text_node',
             }
         ]
     }
     etree_from_dict = helpers.dict_to_etree(xml_dict, self.root)
     assert etree.iselement(etree_from_dict)
     assert etree.tostring(etree_from_dict) == '<root><node1/><node1/><node1>text_node</node1></root>'
Esempio n. 15
0
    def test_dict_to_etree(self):
        u"""Tests the conversion of dict to lxml.etree structure."""
        with pytest.raises(AttributeError) as exc:
            helpers.dict_to_etree(["node"], self.root)
            helpers.dict_to_etree(("node"), self.root)

        assert "neither dict nor basestring" in str(exc.value)

        helpers.dict_to_etree({"single_node": None}, self.root)
        # A dict with one empty key should be converted to an etree element with one child.
        assert etree.iselement(self.root)
        assert len(self.root) == 1
        assert self.root[0].tag == "single_node"
Esempio n. 16
0
 def test_dict_to_etree_lists_with_mixed_children(self):
     u"""Tests the conversion of dicts with different children to an lxml tree."""
     xml_dict = {"node1": [None, None, {"#text": "text_node"}]}
     assert helpers.dict_to_etree(xml_dict, self.root) == "<root><node1/><node1/><node1>text_node</node1></root>"
Esempio n. 17
0
 def test_dict_to_etree_lists_with_none(self):
     u"""Tests the conversion of dict with empty children to an lxml tree."""
     xml_dict = {"node1": [None, None]}
     assert helpers.dict_to_etree(xml_dict, self.root) == "<root><node1/><node1/></root>"