Beispiel #1
0
 def test_remove_user_with_direct_access_to_machine(self):
     user = factory.make_User()
     group = factory.make_UserGroup(users=[user])
     pool = factory.make_ResourcePool(users=[user])
     factory.make_Role(pools=[pool], groups=[group])
     group.remove(user)
     self.assertTrue(ResourcePool.objects.user_can_access_pool(user, pool))
Beispiel #2
0
 def test_remove_user_would_lose_machine_access(self):
     user = factory.make_User()
     group = factory.make_UserGroup(users=[user])
     pool = factory.make_ResourcePool()
     factory.make_Role(pools=[pool], groups=[group])
     factory.make_Node(owner=user, pool=pool)
     self.assertRaises(ValidationError, group.remove, user)
Beispiel #3
0
 def test_remove_user_with_other_group_access_to_machine_same_role(self):
     user = factory.make_User()
     group1 = factory.make_UserGroup(users=[user])
     group2 = factory.make_UserGroup(users=[user])
     pool = factory.make_ResourcePool()
     factory.make_Role(pools=[pool], groups=[group1, group2])
     factory.make_Node(owner=user, pool=pool)
     group1.remove(user)
     self.assertTrue(ResourcePool.objects.user_can_access_pool(user, pool))
Beispiel #4
0
 def test_get_user_resource_pools_user_in_role(self):
     user = factory.make_User()
     default_pool = ResourcePool.objects.get_default_resource_pool()
     pool1 = factory.make_ResourcePool()
     pool2 = factory.make_ResourcePool()
     factory.make_ResourcePool()  # a pool the user doesn't have access to
     factory.make_Role(users=[user], pools=[pool1, pool2])
     self.assertCountEqual(
         ResourcePool.objects.get_user_resource_pools(user),
         [default_pool, pool1, pool2])
Beispiel #5
0
 def test_get_user_resource_pools_role_direct_and_via_group(self):
     user = factory.make_User()
     group = factory.make_UserGroup(users=[user])
     default_pool = ResourcePool.objects.get_default_resource_pool()
     pool1 = factory.make_ResourcePool()
     pool2 = factory.make_ResourcePool()
     factory.make_Role(users=[user], pools=[pool1])
     factory.make_Role(groups=[group], pools=[pool2])
     self.assertCountEqual(
         ResourcePool.objects.get_user_resource_pools(user),
         [default_pool, pool1, pool2])
Beispiel #6
0
 def test_related_resource_pools(self):
     pool1 = factory.make_ResourcePool()
     pool2 = factory.make_ResourcePool()
     role = factory.make_Role()
     role.resource_pools.add(pool1)
     role.resource_pools.add(pool2)
     self.assertCountEqual(role.resource_pools.all(), [pool1, pool2])
Beispiel #7
0
 def test_related_users(self):
     user1 = factory.make_User()
     user2 = factory.make_User()
     role = factory.make_Role()
     role.users.add(user1)
     role.users.add(user2)
     self.assertCountEqual(role.users.all(), [user1, user2])
Beispiel #8
0
 def test_related_group(self):
     group1 = factory.make_UserGroup()
     group2 = factory.make_UserGroup()
     role = factory.make_Role()
     role.groups.add(group1)
     role.groups.add(group2)
     self.assertCountEqual(role.groups.all(), [group1, group2])
Beispiel #9
0
    def test_get_user_resource_pools(self):
        user = factory.make_User()
        default_pool = ResourcePool.objects.get_default_resource_pool()
        pool1 = factory.make_ResourcePool()
        pool2 = factory.make_ResourcePool()
        factory.make_ResourcePool()  # a pool the user doesn't have access to

        role = factory.make_Role()
        role.users.add(user)
        role.resource_pools.add(pool1)
        role.resource_pools.add(pool2)
        self.assertCountEqual(
            ResourcePool.objects.get_user_resource_pools(user),
            [default_pool, pool1, pool2])
Beispiel #10
0
 def test_init(self):
     name = factory.make_name('name')
     description = factory.make_name('description')
     role = factory.make_Role(name=name, description=description)
     self.assertEqual(role.name, name)
     self.assertEqual(role.description, description)