def test_request_one_defroute_existing_same_defroute(self, mockRConfig): netname = 'NET0' mockRConfig.return_value.networks = { netname: {'defaultRoute': True, 'nameservers': ['8.8.8.8']}} validator.validate({netname: {'defaultRoute': True, 'nameservers': ['8.8.8.8']}})
def test_request_one_defroute_no_existing_defroute(self, mockRConfig): mockRConfig.return_value.networks = {} validator.validate( {'NET0': { 'defaultRoute': True, 'nameservers': ['8.8.8.8'] }})
def test_request_multi_defroute(self, mockRConfig): mockRConfig.return_value.networks = {} with self.assertRaises(ne.ConfigNetworkError): validator.validate({'NET0': {'defaultRoute': True, 'nameservers': ['8.8.8.8']}, 'NET88': {'defaultRoute': True, 'nameservers': ['8.8.8.8']}})
def test_nameserver_defined_on_a_non_primary_network_fails(self): with pytest.raises(ne.ConfigNetworkError) as cne: validator.validate( {'NET0': { 'defaultRoute': False, 'nameservers': ['8.8.8.8'] }}) assert cne.value.errCode == ne.ERR_BAD_PARAMS
def test_nameserver_faulty_ipv4_address(self): with pytest.raises(ne.ConfigNetworkError) as cne: validator.validate( {'NET0': { 'defaultRoute': True, 'nameservers': ['a.8.8.8'] }}) assert cne.value.errCode == ne.ERR_BAD_ADDR
def test_ignore_remove_networks(self): validator.validate({ 'NET0': { 'remove': True, 'defaultRoute': False, 'nameservers': ['8.8.8.8'], } })
def test_nameserver_defined_on_a_non_primary_network_fails(self): with self.assertRaises(ne.ConfigNetworkError) as cne: validator.validate( {'NET0': { 'defaultRoute': False, 'nameservers': ['8.8.8.8'] }}) self.assertEqual(cne.exception.errCode, ne.ERR_BAD_PARAMS)
def test_nameserver_faulty_ipv4_address(self): with self.assertRaises(ne.ConfigNetworkError) as cne: validator.validate( {'NET0': { 'defaultRoute': True, 'nameservers': ['a.8.8.8'] }}) self.assertEqual(cne.exception.errCode, ne.ERR_BAD_ADDR)
def test_request_one_defroute_removing_existing_different_defroute( self, mockRConfig): mockRConfig.return_value.networks = { 'NET88': {'defaultRoute': True, 'nameservers': ['8.8.8.8']}} validator.validate({'NET0': {'defaultRoute': True, 'nameservers': ['8.8.8.8']}, 'NET88': {'defaultRoute': False, 'nameservers': []}})
def test_request_no_defroute_no_existing_defroute(self, mockRConfig): mockRConfig.return_value.networks = { 'NET88': { 'defaultRoute': False, 'nameservers': [] } } validator.validate( {'NET0': { 'defaultRoute': False, 'nameservers': [] }})
def test_request_multi_defroute(self, mockRConfig): mockRConfig.return_value.networks = {} with self.assertRaises(ne.ConfigNetworkError): validator.validate({ 'NET0': { 'defaultRoute': True, 'nameservers': ['8.8.8.8'] }, 'NET88': { 'defaultRoute': True, 'nameservers': ['8.8.8.8'] } })
def test_request_one_defroute_removing_existing_different_defroute( self, mockRConfig): mockRConfig.return_value.networks = { 'NET88': { 'defaultRoute': True, 'nameservers': ['8.8.8.8'] } } validator.validate({ 'NET0': { 'defaultRoute': True, 'nameservers': ['8.8.8.8'] }, 'NET88': { 'defaultRoute': False, 'nameservers': [] } })
def test_nameserver_address_with_zone_identifier(self): validator.validate({'NET0': {'defaultRoute': True, 'nameservers': ['fe80::1%eth1']}})
def test_request_no_defroute_no_existing_defroute(self, mockRConfig): mockRConfig.return_value.networks = { 'NET88': {'defaultRoute': False, 'nameservers': []}} validator.validate({'NET0': {'defaultRoute': False, 'nameservers': []}})
def validate(networks, bondings): link_validator.validate(networks, bondings) ip_validator.validate(networks) netswitch.configurator.validate(networks, bondings)
def validate(networks, bondings, net_info, running_config): link_validator.validate(networks, bondings) ip_validator.validate(networks) netswitch.configurator.validate(networks, bondings, net_info, running_config)
def test_ignore_remove_networks(self): validator.validate({'NET0': {'remove': True, 'defaultRoute': False, 'nameservers': ['8.8.8.8']}})
def test_nameserver_defined_on_a_non_primary_network_fails(self): with self.assertRaises(ne.ConfigNetworkError) as cne: validator.validate({'NET0': {'defaultRoute': False, 'nameservers': ['8.8.8.8']}}) self.assertEqual(cne.exception.errCode, ne.ERR_BAD_PARAMS)
def test_nameserver_faulty_ipv6_address(self): with self.assertRaises(ne.ConfigNetworkError) as cne: validator.validate({'NET0': {'defaultRoute': True, 'nameservers': ['2001:bla::1']}}) self.assertEqual(cne.exception.errCode, ne.ERR_BAD_ADDR)
def test_nameserver_valid_ipv6_address(self): validator.validate({'NET0': {'defaultRoute': True, 'nameservers': ['2001::1']}})
def test_nameserver_valid_ipv6_address(self): validator.validate( {'NET0': { 'defaultRoute': True, 'nameservers': ['2001::1'] }})
def test_nameserver_address_with_zone_identifier(self): validator.validate( {'NET0': { 'defaultRoute': True, 'nameservers': ['fe80::1%eth1'] }})
def validate(networks, bondings, net_info): link_validator.validate(networks, bondings) ip_validator.validate(networks) netswitch.configurator.validate(networks, bondings, net_info)