def test_starts_with_default_architecture(self): arches = sorted([factory.make_name('arch') for _ in range(5)]) patch_usable_architectures(self, arches) form = MachineForm() self.assertEqual( pick_default_architecture(arches), form.fields['architecture'].initial)
def test_rejects_unusable_architecture(self): patch_usable_architectures(self) form = MachineForm(data={ 'hostname': factory.make_name('host'), 'architecture': factory.make_name('arch'), }) self.assertFalse(form.is_valid()) self.assertItemsEqual(['architecture'], form._errors.keys())
def test_validates_domain(self): machine = factory.make_Node() patch_usable_architectures(self, [machine.architecture]) form = NodeForm(data={"domain": factory.make_name("domain")}, instance=machine) self.assertFalse(form.is_valid())
def test_rejects_unusable_architecture(self): patch_usable_architectures(self) form = MachineForm( data={ "hostname": factory.make_name("host"), "architecture": factory.make_name("arch"), }) self.assertFalse(form.is_valid()) self.assertItemsEqual(["architecture"], form._errors.keys())
def test_accepts_domain_by_id(self): machine = factory.make_Node() domain = factory.make_Domain() patch_usable_architectures(self, [machine.architecture]) form = NodeForm(data={"domain": domain.id}, instance=machine) form.save() self.assertEqual(domain.name, machine.domain.name)
def test_accepts_hostname(self): machine = factory.make_Node() hostname = factory.make_string() patch_usable_architectures(self, [machine.architecture]) form = NodeForm(data={ 'hostname': hostname, 'architecture': make_usable_architecture(self), }, instance=machine) form.save() self.assertEqual(hostname, machine.hostname)
def make_params( self, mac_addresses=None, architecture=None, hostname=None ): if mac_addresses is None: mac_addresses = [factory.make_mac_address()] if architecture is None: architecture = factory.make_name("arch") if hostname is None: hostname = factory.make_name("hostname") params = { "mac_addresses": mac_addresses, "architecture": architecture, "hostname": hostname, } # Make sure that the architecture parameter is acceptable. patch_usable_architectures(self, [architecture]) return self.get_QueryDict(params)
def make_params(self, mac_addresses=None, architecture=None, hostname=None): if mac_addresses is None: mac_addresses = [factory.make_mac_address()] if architecture is None: architecture = factory.make_name('arch') if hostname is None: hostname = factory.make_name('hostname') params = { 'mac_addresses': mac_addresses, 'architecture': architecture, 'hostname': hostname, } # Make sure that the architecture parameter is acceptable. patch_usable_architectures(self, [architecture]) return self.get_QueryDict(params)
def test_adds_blank_default_when_no_arches_available(self): patch_usable_architectures(self, []) form = MachineForm() self.assertEqual([BLANK_CHOICE], form.fields['architecture'].choices)