Пример #1
0
 def test_creates_device_with_domain_and_parent(self):
     parent = factory.make_Node()
     hostname = factory.make_name("device")
     mac1 = factory.make_mac_address()
     mac2 = factory.make_mac_address()
     domain = factory.make_Domain()
     form = DeviceWithMACsForm(data=get_QueryDict({
         "hostname":
         hostname,
         "mac_addresses": [mac1, mac2],
         "parent":
         parent.system_id,
         "domain":
         domain.name,
     }),
                               request=self.make_request())
     self.assertTrue(form.is_valid(), dict(form.errors))
     form.save()
     device = get_one(Device.objects.filter(hostname=hostname))
     self.assertThat(device.hostname, Equals(hostname))
     self.assertThat(device.domain, Equals(domain))
     iface = get_one(Interface.objects.filter(mac_address=mac1))
     self.assertThat(iface.node, Equals(device))
     iface = get_one(Interface.objects.filter(mac_address=mac2))
     self.assertThat(iface.node, Equals(device))
Пример #2
0
 def change_password(self, params):
     """Update the authenticated user password."""
     form = PasswordChangeForm(user=self.user, data=get_QueryDict(params))
     if form.is_valid():
         form.save()
         self.user.sshkeys_count = self.user.sshkey_set.count()
         self.user.machines_count = self.user.node_set.count()
         return self.full_dehydrate(self.user)
     else:
         raise HandlerValidationError(form.errors)
Пример #3
0
 def admin_change_password(self, params):
     """As Admin, update another user's password."""
     if not self.user.is_superuser:
         raise HandlerPermissionError()
     user = self.get_object(params)
     form = AdminPasswordChangeForm(user=user, data=get_QueryDict(params))
     if form.is_valid():
         form.save()
     else:
         raise HandlerValidationError(form.errors)
Пример #4
0
 def test_creates_device_with_mac(self):
     hostname = factory.make_name("device")
     mac = factory.make_mac_address()
     form = DeviceWithMACsForm(data=get_QueryDict({
         "hostname": hostname,
         "mac_addresses": mac
     }), request=self.make_request())
     self.assertTrue(form.is_valid(), dict(form.errors))
     form.save()
     device = get_one(Device.objects.filter(hostname=hostname))
     self.assertThat(device.hostname, Equals(hostname))
     iface = get_one(Interface.objects.filter(mac_address=mac))
     self.assertThat(iface.node, Equals(device))
Пример #5
0
    def preprocess_form(self, action, params):
        """Process the `params` to before passing the data to the form.

        Default implementation just converts `params` to a `QueryDict`.
        """
        return get_QueryDict(params)