Exemple #1
0
 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)
Exemple #2
0
 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())
Exemple #3
0
    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())
Exemple #4
0
 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())
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
 def test_adds_blank_default_when_no_arches_available(self):
     patch_usable_architectures(self, [])
     form = MachineForm()
     self.assertEqual([BLANK_CHOICE], form.fields['architecture'].choices)