예제 #1
0
    def test_parse_xml_validate_input(self):
        spec_file_path = os.path.join(fixture_path, 'show_vlans_xml_spec.yml')
        output = 10

        with self.assertRaises(Exception) as e:
            parse_xml(output_xml, 'junk_path')
        self.assertEqual("unable to locate parse_cli template: junk_path", str(e.exception))

        with self.assertRaises(Exception) as e:
            parse_xml(output, spec_file_path)
        self.assertEqual("parse_xml works on string input, but given input of : %s" % type(output), str(e.exception))
예제 #2
0
    def test_parse_xml_validate_input(self):
        spec_file_path = os.path.join(fixture_path, 'show_vlans_xml_spec.yml')
        output = 10

        with self.assertRaises(Exception) as e:
            parse_xml(output_xml, 'junk_path')
        self.assertEqual("unable to locate parse_xml template: junk_path", str(e.exception))

        with self.assertRaises(Exception) as e:
            parse_xml(output, spec_file_path)
        self.assertEqual("parse_xml works on string input, but given input of : %s" % type(output), str(e.exception))
예제 #3
0
 def test_parse_xml_with_single_value_spec(self):
     spec_file_path = os.path.join(fixture_path,
                                   'show_vlans_xml_single_value_spec.yml')
     parsed = parse_xml(output_xml, spec_file_path)
     expected = {
         'vlans': ['test-1', 'test-2', 'test-3', 'test-4', 'test-5']
     }
     self.assertEqual(parsed, expected)
예제 #4
0
 def test_parse_xml_to_list_of_dict(self):
     spec_file_path = os.path.join(fixture_path, 'show_vlans_xml_spec.yml')
     parsed = parse_xml(output_xml, spec_file_path)
     expected = {'vlans': [{'name': 'test-1', 'enabled': True, 'state': 'active', 'interface': None, 'vlan_id': 100, 'desc': None},
                           {'name': 'test-2', 'enabled': True, 'state': 'active', 'interface': None, 'vlan_id': None, 'desc': None},
                           {'name': 'test-3', 'enabled': True, 'state': 'active', 'interface': 'em3.0', 'vlan_id': 300, 'desc': 'test vlan-3'},
                           {'name': 'test-4', 'enabled': False, 'state': 'inactive', 'interface': None, 'vlan_id': 400, 'desc': 'test vlan-4'},
                           {'name': 'test-5', 'enabled': False, 'state': 'inactive', 'interface': 'em5.0', 'vlan_id': 500, 'desc': 'test vlan-5'}]}
     self.assertEqual(parsed, expected)
예제 #5
0
 def test_parse_xml_to_list_of_dict(self):
     spec_file_path = os.path.join(fixture_path, 'show_vlans_xml_spec.yml')
     parsed = parse_xml(output_xml, spec_file_path)
     expected = {'vlans': [{'name': 'test-1', 'enabled': True, 'state': 'active', 'interface': None, 'vlan_id': 100, 'desc': None},
                           {'name': 'test-2', 'enabled': True, 'state': 'active', 'interface': None, 'vlan_id': None, 'desc': None},
                           {'name': 'test-3', 'enabled': True, 'state': 'active', 'interface': 'em3.0', 'vlan_id': 300, 'desc': 'test vlan-3'},
                           {'name': 'test-4', 'enabled': False, 'state': 'inactive', 'interface': None, 'vlan_id': 400, 'desc': 'test vlan-4'},
                           {'name': 'test-5', 'enabled': False, 'state': 'inactive', 'interface': 'em5.0', 'vlan_id': 500, 'desc': 'test vlan-5'}]}
     self.assertEqual(parsed, expected)
예제 #6
0
 def test_parse_xml_with_condition_spec(self):
     spec_file_path = os.path.join(
         fixture_path, 'show_vlans_xml_with_condition_spec.yml')
     parsed = parse_xml(output_xml, spec_file_path)
     expected = {
         'vlans': [{
             'name': 'test-5',
             'enabled': False,
             'state': 'inactive',
             'interface': 'em5.0',
             'vlan_id': 500,
             'desc': 'test vlan-5'
         }]
     }
     self.assertEqual(parsed, expected)
예제 #7
0
 def test_parse_xml_with_single_value_spec(self):
     spec_file_path = os.path.join(fixture_path, 'show_vlans_xml_single_value_spec.yml')
     parsed = parse_xml(output_xml, spec_file_path)
     expected = {'vlans': ['test-1', 'test-2', 'test-3', 'test-4', 'test-5']}
     self.assertEqual(parsed, expected)
예제 #8
0
 def test_parse_xml_with_condition_spec(self):
     spec_file_path = os.path.join(fixture_path, 'show_vlans_xml_with_condition_spec.yml')
     parsed = parse_xml(output_xml, spec_file_path)
     expected = {'vlans': [{'name': 'test-5', 'enabled': False, 'state': 'inactive', 'interface': 'em5.0', 'vlan_id': 500, 'desc': 'test vlan-5'}]}
     self.assertEqual(parsed, expected)