def test_create_cobbler_options(self): machine = mock.NonCallableMock(spec_set=Machine) machine.ipv4 = "17.17.17.17" machine.fqdn = "test.foo.bar" machine.ipv6 = None machine.dhcp_filename = None group = NonCallableMagicMock(spec=MachineGroup) group.dhcp_filename = None architecture = NonCallableMagicMock(spec=Architecture) architecture.dhcp_filename = None machine.group = group machine.architecture = architecture options = cobbler.create_cobbler_options(machine) self.assertTrue(" --name=test.foo.bar" in options) self.assertTrue(" --ip-address=17.17.17.17" in options) self.assertFalse("ipv6" in options) self.assertFalse("filename" in options) self.assertTrue(" --interface=default" in options) self.assertTrue(" --management=True" in options) self.assertTrue(" --interface-master=True" in options) machine.ipv6 = "2001:db8::8a2e:370:7334" options = cobbler.create_cobbler_options(machine) self.assertFalse("filename" in options) self.assertTrue(" --ipv6-address=2001:db8::8a2e:370:7334" in options) machine.ipv6 = None machine.dhcp_filename = "file.name" options = cobbler.create_cobbler_options(machine) self.assertFalse("ipv6" in options) self.assertTrue(" --filename=file.name" in options) machine.ipv6 = "2001:db8::8a2e:370:7334" options = cobbler.create_cobbler_options(machine) self.assertTrue(" --filename=file.name" in options) self.assertTrue(" --ipv6-address=2001:db8::8a2e:370:7334" in options)
def test_get_filename(self): """ get_filename should return the right filename attribute. Machine > Group > Architecture > None """ machine = NonCallableMagicMock(spec_set=Machine) machine.dhcp_filename = "machine" group = NonCallableMagicMock(spec_set=MachineGroup) group.dhcp_filename = "group" machine.group = group architecture = NonCallableMagicMock(spec_set=Architecture) architecture.dhcp_filename = "architecture" machine.architecture = architecture self.assertEqual(cobbler.get_filename(machine), "machine") machine.dhcp_filename = None self.assertEqual(cobbler.get_filename(machine), "group") group.dhcp_filename = None self.assertEqual(cobbler.get_filename(machine), "architecture") architecture.dhcp_filename = None self.assertIsNone(cobbler.get_filename(machine))