Skip to content

Commit 5441385

Browse files
committed
few clean ups
Change-Id: I46fd006147f45f9ba30b116cfaae60339a43ed31
1 parent 19fea95 commit 5441385

1 file changed

Lines changed: 56 additions & 44 deletions

File tree

codespeed/tests/tests_api.py

Lines changed: 56 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,49 @@ def setUp(self):
4545
self.post_auth = {'HTTP_AUTHORIZATION': authorization}
4646

4747

48+
class ApiKeyAuthenticationTestCase(FixtureTestCase):
49+
50+
def setUp(self):
51+
super(ApiKeyAuthenticationTestCase, self).setUp()
52+
ApiKey.objects.all().delete()
53+
self.auth = ApiKeyAuthentication()
54+
self.request = HttpRequest()
55+
56+
# Simulate sending the signal.
57+
user = User.objects.get(username='apiuser')
58+
create_api_key(User, instance=user, created=True)
59+
60+
def test_is_not_authenticated(self):
61+
"""Should return HttpUnauthorized when incorrect credentials are given"""
62+
# No username/api_key details
63+
self.assertEqual(isinstance(
64+
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
65+
66+
# Wrong username details.
67+
self.request.GET['username'] = 'foo'
68+
self.assertEqual(isinstance(
69+
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
70+
71+
# No api_key.
72+
self.request.GET['username'] = 'daniel'
73+
self.assertEqual(isinstance(
74+
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
75+
76+
# Wrong user/api_key.
77+
self.request.GET['username'] = 'daniel'
78+
self.request.GET['api_key'] = 'foo'
79+
self.assertEqual(isinstance(
80+
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
81+
82+
def test_is_authenticated(self):
83+
"""Should correctly authenticate when using an existing user and key"""
84+
# Correct user/api_key.
85+
user = User.objects.get(username='apiuser')
86+
self.request.GET['username'] = 'apiuser'
87+
self.request.GET['api_key'] = user.api_key.key
88+
self.assertEqual(self.auth.is_authenticated(self.request), True)
89+
90+
4891
class UserTest(FixtureTestCase):
4992
"""Test api user related stuff"""
5093

@@ -1023,7 +1066,7 @@ def setUp(self):
10231066
'change_report', 'codespeed', 'report')
10241067
self.delete = Permission.objects.get_by_natural_key(
10251068
'delete_report', 'codespeed', 'report')
1026-
1069+
10271070
self.report1 = Report.objects.get(pk=1)
10281071
self.revision1 = Revision.objects.get(pk=1)
10291072
self.executable1 = Executable.objects.get(pk=1)
@@ -1127,52 +1170,10 @@ def test_delete(self):
11271170
self.assertEquals(response.status_code, 405)
11281171

11291172

1130-
class ApiKeyAuthenticationTestCase(FixtureTestCase):
1131-
1132-
def setUp(self):
1133-
super(ApiKeyAuthenticationTestCase, self).setUp()
1134-
ApiKey.objects.all().delete()
1135-
self.auth = ApiKeyAuthentication()
1136-
self.request = HttpRequest()
1137-
1138-
# Simulate sending the signal.
1139-
user = User.objects.get(username='apiuser')
1140-
create_api_key(User, instance=user, created=True)
1141-
1142-
def test_is_not_authenticated(self):
1143-
"""Should return HttpUnauthorized when incorrect credentials are given"""
1144-
# No username/api_key details
1145-
self.assertEqual(isinstance(
1146-
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
1147-
1148-
# Wrong username details.
1149-
self.request.GET['username'] = 'foo'
1150-
self.assertEqual(isinstance(
1151-
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
1152-
1153-
# No api_key.
1154-
self.request.GET['username'] = 'daniel'
1155-
self.assertEqual(isinstance(
1156-
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
1157-
1158-
# Wrong user/api_key.
1159-
self.request.GET['username'] = 'daniel'
1160-
self.request.GET['api_key'] = 'foo'
1161-
self.assertEqual(isinstance(
1162-
self.auth.is_authenticated(self.request), HttpUnauthorized), True)
1163-
1164-
def test_is_authenticated(self):
1165-
"""Should correctly authenticate when using an existing user and key"""
1166-
# Correct user/api_key.
1167-
user = User.objects.get(username='apiuser')
1168-
self.request.GET['username'] = 'apiuser'
1169-
self.request.GET['api_key'] = user.api_key.key
1170-
self.assertEqual(self.auth.is_authenticated(self.request), True)
1171-
1172-
11731173
class ResultBundleTestCase(FixtureTestCase):
11741174

11751175
def setUp(self):
1176+
super(ResultBundleTestCase, self).setUp()
11761177
self.data1 = {
11771178
'commitid': '2',
11781179
'branch': 'default', # Always use default for trunk/master/tip
@@ -1279,6 +1280,16 @@ class ResultBundleResourceTestCase(FixtureTestCase):
12791280

12801281
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
12811282
def setUp(self):
1283+
1284+
super(ResultBundleResourceTestCase, self).setUp()
1285+
1286+
self.add = Permission.objects.get_by_natural_key(
1287+
'add_result', 'codespeed', 'result')
1288+
self.change = Permission.objects.get_by_natural_key(
1289+
'change_result', 'codespeed', 'result')
1290+
self.delete = Permission.objects.get_by_natural_key(
1291+
'delete_result', 'codespeed', 'result')
1292+
12821293
self.data1 = {
12831294
'commitid': '2',
12841295
'branch': 'default', # Always use default for trunk/master/tip
@@ -1305,6 +1316,7 @@ def setUp(self):
13051316
self.project.save()
13061317
self.env1 = Environment(name='Bulldozer')
13071318
self.env1.save()
1319+
self.client = Client()
13081320

13091321
def test_post_mandatory(self):
13101322
"""Should save a new result with only mandatory data"""

0 commit comments

Comments
 (0)