예제 #1
0
    def test_cluster_qs_user_with_userperms(self):
        user = self.create_user('cluster_admin')
        user.grant('admin', self.cluster)
        qs = cluster_qs_for_user(user)
        self.assertQuerysetEqual(qs, [repr(self.cluster)])

        user.delete()
예제 #2
0
 def test_cluster_qs_on_readonly_cluster(self):
     """
     Read only clusters should not be returned when using
     cluster_qs_for_user unless you pass readonly=True as a kwarg.
     """
     user = self.superuser
     # create a read only cluster (no username)
     ro_cluster = Cluster.objects.create(hostname="foo.example.org",
                                         slug="foo")
     qs = cluster_qs_for_user(user, readonly=False)
     self.assertNotIn(ro_cluster, qs)
     qs = cluster_qs_for_user(user, readonly=True)
     expected_clusters = [repr(self.cluster), repr(ro_cluster)]
     self.assertQuerysetEqual(qs, expected_clusters, ordered=False)
     # Cleanup
     ro_cluster.delete()
예제 #3
0
    def test_cluster_qs_for_user_with_groupperms(self):
        group = Group.objects.create(name='cluster_admin')
        user = self.create_user('user')

        group.grant('admin', self.cluster)
        group.user_set.add(user)

        qs = cluster_qs_for_user(user)
        self.assertQuerysetEqual(qs, [repr(self.cluster)])

        user.delete()
        group.delete()
예제 #4
0
    def test_cluster_qs_user_without_perms(self):
        user = self.create_user('cluster_admin')
        qs = cluster_qs_for_user(user)
        self.assertFalse(qs)

        user.delete()
예제 #5
0
 def test_cluster_qs_for_superuser(self):
     user = self.superuser
     qs = cluster_qs_for_user(user)
     self.assertQuerysetEqual(qs, [repr(self.cluster)], ordered=False)
예제 #6
0
 def test_cluster_qs_for_user_anon(self):
     user = AnonymousUser()
     qs = cluster_qs_for_user(user)
     self.assertFalse(qs)
예제 #7
0
 def get_queryset(self):
     self.queryset = cluster_qs_for_user(self.request.user)
     qs = super(ClusterListView, self).get_queryset()
     qs = qs.select_related("nodes", "virtual_machines")
     return qs