Skip to content

Commit 8fac26a

Browse files
committed
Remove experiment user group from OpenIDC middleware fixes #544
1 parent 4cb3281 commit 8fac26a

File tree

2 files changed

+3
-48
lines changed

2 files changed

+3
-48
lines changed

app/experimenter/openidc/middleware.py

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from django.core.urlresolvers import resolve, Resolver404
22
from django.conf import settings
3-
from django.contrib.contenttypes.models import ContentType
4-
from django.contrib.auth.models import User, Group, Permission
3+
from django.contrib.auth.models import User
54
from django.http import HttpResponse
65
from rest_framework.authentication import SessionAuthentication
76

@@ -16,21 +15,6 @@ class OpenIDCAuthMiddleware(object):
1615
experimenters group.
1716
"""
1817

19-
def get_experimenter_group(self):
20-
experimenter_group, created = Group.objects.get_or_create(
21-
name="Experimenters"
22-
)
23-
24-
if created:
25-
apps = ("projects", "experiments")
26-
content_types = ContentType.objects.filter(app_label__in=apps)
27-
permissions = Permission.objects.filter(
28-
content_type__in=content_types
29-
)
30-
experimenter_group.permissions.add(*permissions)
31-
32-
return experimenter_group
33-
3418
def process_request(self, request):
3519
try:
3620
resolved = resolve(request.path)
@@ -54,11 +38,8 @@ def process_request(self, request):
5438
user = User.objects.get(username=openidc_email)
5539
except User.DoesNotExist:
5640
user = User(username=openidc_email, email=openidc_email)
57-
user.is_staff = True
5841
user.save()
5942

60-
user.groups.add(self.get_experimenter_group())
61-
6243
request.user = user
6344

6445

app/experimenter/openidc/tests/test_middleware.py

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.conf import settings
2-
from django.contrib.auth.models import User, Group
2+
from django.contrib.auth.models import User
33
from django.core.urlresolvers import Resolver404
44
from django.test import TestCase
55

@@ -19,28 +19,6 @@ def setUp(self):
1919
self.mock_resolve = mock_resolve_patcher.start()
2020
self.addCleanup(mock_resolve_patcher.stop)
2121

22-
def test_get_group_creates_group_with_project_experiment_permissions(self):
23-
self.assertFalse(Group.objects.all().exists())
24-
group = self.middleware.get_experimenter_group()
25-
self.assertTrue(Group.objects.all().exists())
26-
self.assertEqual(group.permissions.all().count(), 15)
27-
self.assertEqual(
28-
set(
29-
[
30-
permission.content_type.app_label
31-
for permission in group.permissions.all()
32-
]
33-
),
34-
set(["projects", "experiments"]),
35-
)
36-
37-
def test_get_group_only_creates_one_group(self):
38-
self.assertEqual(Group.objects.all().count(), 0)
39-
self.middleware.get_experimenter_group()
40-
self.assertEqual(Group.objects.all().count(), 1)
41-
self.middleware.get_experimenter_group()
42-
self.assertEqual(Group.objects.all().count(), 1)
43-
4422
def test_whitelisted_url_is_not_authed(self):
4523
request = mock.Mock()
4624
request.path = "/whitelisted-view/"
@@ -87,8 +65,4 @@ def test_user_created_with_correct_email_from_header(self):
8765
self.assertEqual(User.objects.all().count(), 1)
8866

8967
self.assertEqual(request.user.email, user_email)
90-
self.assertTrue(request.user.is_staff)
91-
self.assertTrue(
92-
self.middleware.get_experimenter_group()
93-
in request.user.groups.all()
94-
)
68+
self.assertFalse(request.user.is_staff)

0 commit comments

Comments
 (0)