Esempio n. 1
0
 def test_update_does_not_raise_validation_error_for_invalid_arch(self):
     user = factory.make_admin()
     handler = DeviceHandler(user, {})
     node = factory.make_Node(interface=True, node_type=NODE_TYPE.DEVICE)
     node_data = self.dehydrate_device(node, user)
     arch = factory.make_name("arch")
     node_data["architecture"] = arch
     handler.update(node_data)
Esempio n. 2
0
 def test_update_owned_with_rbac(self):
     self.useFixture(RBACEnabled())
     user = factory.make_User(is_local=False)
     node = factory.make_Node(owner=user, node_type=NODE_TYPE.DEVICE)
     handler = DeviceHandler(user, {}, None)
     new_hostname = factory.make_name("hostname")
     updated_node = handler.update({
         "system_id": node.system_id,
         'hostname': new_hostname
     })
     self.assertEqual(updated_node['hostname'], new_hostname)
Esempio n. 3
0
 def test_update_owned_with_rbac(self):
     rbac = self.useFixture(RBACEnabled())
     user = factory.make_User(is_local=False)
     rbac.store.allow(user.username, factory.make_ResourcePool(),
                      "admin-machines")
     node = factory.make_Node(owner=user, node_type=NODE_TYPE.DEVICE)
     handler = DeviceHandler(user, {}, None)
     new_hostname = factory.make_name("hostname")
     updated_node = handler.update({
         "system_id": node.system_id,
         "hostname": new_hostname
     })
     self.assertEqual(updated_node["hostname"], new_hostname)
Esempio n. 4
0
 def test_update_updates_node(self):
     user = factory.make_admin()
     handler = DeviceHandler(user, {})
     node = factory.make_Node(interface=True, node_type=NODE_TYPE.DEVICE)
     node_data = self.dehydrate_device(node, user)
     new_zone = factory.make_Zone()
     new_hostname = factory.make_name("hostname")
     node_data["hostname"] = new_hostname
     node_data["zone"] = {
         "name": new_zone.name,
     }
     updated_node = handler.update(node_data)
     self.assertEqual(updated_node["hostname"], new_hostname)
     self.assertEqual(updated_node["zone"]["id"], new_zone.id)
Esempio n. 5
0
 def test_update_updates_node_non_admin_update_own(self):
     user = factory.make_User()
     handler = DeviceHandler(user, {}, None)
     node = factory.make_Node(owner=user,
                              interface=True,
                              node_type=NODE_TYPE.DEVICE)
     node_data = self.dehydrate_device(node, user)
     new_zone = factory.make_Zone()
     new_hostname = factory.make_name("hostname")
     new_tags = [factory.make_name("tag") for _ in range(3)]
     node_data["hostname"] = new_hostname
     node_data["zone"] = {"name": new_zone.name}
     node_data["tags"] = new_tags
     updated_node = handler.update(node_data)
     self.assertEqual(updated_node["hostname"], new_hostname)
     self.assertEqual(updated_node["zone"]["id"], new_zone.id)
     self.assertItemsEqual(updated_node["tags"], new_tags)