Пример #1
0
 def test_list(self):
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     returned_pool_names = [
         data['name'] for data in handler.list({})]
     self.assertEqual(['default', pool.name], returned_pool_names)
Пример #2
0
 def test_create_annotations(self):
     handler = ResourcePoolHandler(factory.make_admin(), {}, None)
     result = handler.create(
         {'name': factory.make_name('pool'),
          'description': factory.make_name('description')})
     self.assertEqual(0, result['machine_total_count'])
     self.assertEqual(0, result['machine_ready_count'])
Пример #3
0
 def test_get_machine_count(self):
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     factory.make_Machine(pool=pool)
     result = handler.get({"id": pool.id})
     self.assertEqual(1, result['machine_total_count'])
Пример #4
0
 def test_update(self):
     pool = factory.make_ResourcePool()
     new_name = factory.make_name('pool')
     handler = ResourcePoolHandler(factory.make_admin(), {}, None)
     handler.update({"id": pool.id, "name": new_name})
     pool = reload_object(pool)
     self.assertEqual(new_name, pool.name)
Пример #5
0
 def test_get_machine_ready_count(self):
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     factory.make_Machine(pool=pool, status=NODE_STATUS.NEW)
     factory.make_Machine(pool=pool, status=NODE_STATUS.READY)
     result = handler.get({"id": pool.id})
     self.assertEqual(2, result['machine_total_count'])
     self.assertEqual(1, result['machine_ready_count'])
Пример #6
0
 def test_list_rbac(self):
     self.enable_rbac()
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     self.rbac_store.add_pool(pool)
     self.rbac_store.allow(user.username, pool, "view")
     returned_pool_names = [data["name"] for data in handler.list({})]
     self.assertEqual([pool.name], returned_pool_names)
Пример #7
0
 def test_create_annotations(self):
     handler = ResourcePoolHandler(factory.make_admin(), {}, None)
     result = handler.create({
         "name":
         factory.make_name("pool"),
         "description":
         factory.make_name("description"),
     })
     self.assertEqual(0, result["machine_total_count"])
     self.assertEqual(0, result["machine_ready_count"])
Пример #8
0
 def test_delete_rbac(self):
     self.enable_rbac()
     user = factory.make_User()
     pool = factory.make_ResourcePool()
     self.rbac_store.add_pool(pool)
     self.rbac_store.allow(user.username, pool, 'view')
     self.rbac_store.allow(user.username, ALL_RESOURCES, 'edit')
     handler = ResourcePoolHandler(user, {}, None)
     handler.delete({"id": pool.id})
     self.assertIsNone(reload_object(pool))
Пример #9
0
 def test_create_rbac(self):
     self.enable_rbac()
     user = factory.make_User()
     self.rbac_store.allow(user.username, ALL_RESOURCES, 'view')
     self.rbac_store.allow(user.username, ALL_RESOURCES, 'edit')
     handler = ResourcePoolHandler(user, {}, None)
     result = handler.create(
         {'name': factory.make_name('pool'),
          'description': factory.make_name('description')})
     self.assertEqual(0, result['machine_total_count'])
     self.assertEqual(0, result['machine_ready_count'])
Пример #10
0
 def test_update_rbac(self):
     self.enable_rbac()
     user = factory.make_User()
     pool = factory.make_ResourcePool()
     self.rbac_store.add_pool(pool)
     self.rbac_store.allow(user.username, pool, 'view')
     self.rbac_store.allow(user.username, pool, 'edit')
     new_name = factory.make_name('pool')
     handler = ResourcePoolHandler(user, {}, None)
     handler.update({"id": pool.id, "name": new_name})
     pool = reload_object(pool)
     self.assertEqual(new_name, pool.name)
Пример #11
0
 def test_create_rbac(self):
     self.enable_rbac()
     user = factory.make_User()
     self.rbac_store.allow(user.username, ALL_RESOURCES, "view")
     self.rbac_store.allow(user.username, ALL_RESOURCES, "edit")
     handler = ResourcePoolHandler(user, {}, None)
     result = handler.create({
         "name":
         factory.make_name("pool"),
         "description":
         factory.make_name("description"),
     })
     self.assertEqual(0, result["machine_total_count"])
     self.assertEqual(0, result["machine_ready_count"])
Пример #12
0
 def test_get(self):
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     result = handler.get({"id": pool.id})
     self.assertEqual(
         {'id': pool.id,
          'name': pool.name,
          'description': pool.description,
          'is_default': False,
          'created': dehydrate_datetime(pool.created),
          'updated': dehydrate_datetime(pool.updated),
          'machine_total_count': 0,
          'machine_ready_count': 0,
          'permissions': []},
         result)
Пример #13
0
 def test_get_rbac_fails(self):
     self.enable_rbac()
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     self.rbac_store.add_pool(pool)
     self.assertRaises(
         HandlerDoesNotExistError, handler.get, {"id": pool.id})
Пример #14
0
 def test_update_rbac_no_edit(self):
     self.enable_rbac()
     user = factory.make_User()
     pool = factory.make_ResourcePool()
     self.rbac_store.add_pool(pool)
     self.rbac_store.allow(user.username, pool, 'view')
     handler = ResourcePoolHandler(user, {}, None)
     self.assertRaises(
         HandlerPermissionError, handler.update, {"id": pool.id})
Пример #15
0
 def test_create_rbac_requires_edit_on_all(self):
     self.enable_rbac()
     user = factory.make_User()
     self.rbac_store.allow(user.username, ALL_RESOURCES, 'view')
     handler = ResourcePoolHandler(user, {}, None)
     self.assertRaises(
         HandlerPermissionError, handler.create,
         {'name': factory.make_name('pool'),
          'description': factory.make_name('description')})
Пример #16
0
 def test_get(self):
     user = factory.make_User()
     handler = ResourcePoolHandler(user, {}, None)
     pool = factory.make_ResourcePool()
     result = handler.get({"id": pool.id})
     self.assertEqual(
         {
             "id": pool.id,
             "name": pool.name,
             "description": pool.description,
             "is_default": False,
             "created": dehydrate_datetime(pool.created),
             "updated": dehydrate_datetime(pool.updated),
             "machine_total_count": 0,
             "machine_ready_count": 0,
             "permissions": [],
         },
         result,
     )
Пример #17
0
 def test_create_rbac_requires_edit_on_all(self):
     self.enable_rbac()
     user = factory.make_User()
     self.rbac_store.allow(user.username, ALL_RESOURCES, "view")
     handler = ResourcePoolHandler(user, {}, None)
     self.assertRaises(
         HandlerPermissionError,
         handler.create,
         {
             "name": factory.make_name("pool"),
             "description": factory.make_name("description"),
         },
     )
Пример #18
0
 def test_get_is_default(self):
     pool = ResourcePool.objects.get_default_resource_pool()
     handler = ResourcePoolHandler(factory.make_User(), {}, None)
     result = handler.get({"id": pool.id})
     self.assertTrue(result['is_default'])
Пример #19
0
 def test_delete_default_fails(self):
     pool = ResourcePool.objects.get_default_resource_pool()
     handler = ResourcePoolHandler(factory.make_admin(), {}, None)
     self.assertRaises(ValidationError, handler.delete, {"id": pool.id})
Пример #20
0
 def test_delete_not_admin(self):
     handler = ResourcePoolHandler(factory.make_User(), {}, None)
     pool = factory.make_ResourcePool()
     self.assertRaises(
         HandlerPermissionError, handler.delete, {"id": pool.id})
Пример #21
0
 def test_delete(self):
     handler = ResourcePoolHandler(factory.make_admin(), {}, None)
     pool = factory.make_ResourcePool()
     handler.delete({"id": pool.id})
     self.assertIsNone(reload_object(pool))