def test_validate_port_extra_dhcp_opts_invalid(self): # Two value options and two invalid, assert the validation # will fail and only the invalid options will be returned as # not supported opt0 = { 'opt_name': 'bootfile-name', 'opt_value': 'homer_simpson.bin', 'ip_version': 4 } opt1 = { 'opt_name': 'dns-server', 'opt_value': '2001:4860:4860::8888', 'ip_version': 6 } opt2 = { 'opt_name': 'not-valid-ipv4', 'opt_value': 'joe rogan', 'ip_version': 4 } opt3 = { 'opt_name': 'not-valid-ipv6', 'opt_value': 'young jamie', 'ip_version': 6 } port = {edo_ext.EXTRADHCPOPTS: [opt0, opt1, opt2, opt3]} result = utils.validate_port_extra_dhcp_opts(port) self.assertTrue(result.failed) self.assertEqual(['not-valid-ipv4'], result.invalid_ipv4) self.assertEqual(['not-valid-ipv6'], result.invalid_ipv6)
def test_validate_port_extra_dhcp_opts(self): opt0 = {'opt_name': 'bootfile-name', 'opt_value': 'homer_simpson.bin', 'ip_version': 4} opt1 = {'opt_name': 'dns-server', 'opt_value': '2001:4860:4860::8888', 'ip_version': 6} port = {edo_ext.EXTRADHCPOPTS: [opt0, opt1]} result = utils.validate_port_extra_dhcp_opts(port) self.assertFalse(result.failed) self.assertEqual([], result.invalid_ipv4) self.assertEqual([], result.invalid_ipv6)
def test_validate_port_extra_dhcp_opts_dhcp_disabled(self): opt0 = {'opt_name': 'not-valid-ipv4', 'opt_value': 'joe rogan', 'ip_version': 4} opt1 = {'opt_name': 'dhcp_disabled', 'opt_value': 'True', 'ip_version': 4} port = {edo_ext.EXTRADHCPOPTS: [opt0, opt1]} # Validation always succeeds if the "dhcp_disabled" option is enabled result = utils.validate_port_extra_dhcp_opts(port) self.assertFalse(result.failed) self.assertEqual([], result.invalid_ipv4) self.assertEqual([], result.invalid_ipv6)
def test_validate_port_extra_dhcp_opts_empty(self): port = {edo_ext.EXTRADHCPOPTS: []} result = utils.validate_port_extra_dhcp_opts(port) self.assertFalse(result.failed) self.assertEqual([], result.invalid_ipv4) self.assertEqual([], result.invalid_ipv6)