Revision 17fc7729
/dev/null | ||
---|---|---|
1 |
[ |
|
2 |
{ |
|
3 |
"model": "db.SynnefoUser", |
|
4 |
"pk": 1, |
|
5 |
"fields": { |
|
6 |
"name": 1, |
|
7 |
"credit": 1024 |
|
8 |
} |
|
9 |
} |
|
10 |
] |
b/auth/tests.py | ||
---|---|---|
1 |
# |
|
2 |
# Unit Tests for auth api |
|
3 |
# |
|
4 |
# Provides automated tests for api module |
|
5 |
# |
|
6 |
# Copyright 2011 Greek Research and Technology Network |
|
7 |
# |
|
8 |
|
|
9 |
from django.test import TestCase |
|
10 |
from django.test.client import Client |
|
11 |
|
|
12 |
class AuthTestCase(TestCase): |
|
13 |
fixtures = ['api_test_data', 'auth_test_data'] |
|
14 |
apibase = '/api/v1.0' |
|
15 |
|
|
16 |
def setUp(self): |
|
17 |
self.client = Client() |
|
18 |
|
|
19 |
|
|
20 |
def test_auth_headers(self): |
|
21 |
""" test whether the authentication mechanism sets the correct headers |
|
22 |
""" |
|
23 |
#Check with non-existing user |
|
24 |
response = self.client.get( self.apibase + '/servers', {}, |
|
25 |
**{'X-Auth-User':'notme', |
|
26 |
'X-Auth-Key':'0xdeadbabe'}) |
|
27 |
self.assertEquals(response.status_code, 401) |
|
28 |
|
|
29 |
#Check with existing user |
|
30 |
response = self.client.get( self.apibase + '/', {}, |
|
31 |
**{'X-Auth-User':'testuser', |
|
32 |
'X-Auth-Key':'testuserpasswd'}) |
|
33 |
self.assertEquals(response.status_code, 204) |
|
34 |
self.assertNotEqual(response['X-Auth-Token'], None) |
|
35 |
self.assertEquals(response['X-Server-Management-Url'], '') |
|
36 |
self.assertEquals(response['X-Storage-Url'], '') |
|
37 |
self.assertEquals(response['X-CDN-Management-Url'], '') |
|
38 |
|
|
39 |
#Check access now that we do have an auth token |
|
40 |
token = response['X-Auth-Token'] |
|
41 |
response = self.client.get (self.apibase + '/servers/detail', {}, |
|
42 |
**{'X-Auth-Token': token}) |
|
43 |
self.assertEquals(response.status_code, 200) |
b/logic/fixtures/auth_test_data.json | ||
---|---|---|
1 |
[ |
|
2 |
{ |
|
3 |
"model": "db.SynnefoUser", |
|
4 |
"pk": 1, |
|
5 |
"fields": { |
|
6 |
"name": 1, |
|
7 |
"credit": 1024 |
|
8 |
} |
|
9 |
} |
|
10 |
] |
b/logic/tests.py | ||
---|---|---|
99 | 99 |
s_user = SynnefoUser.objects.get(pk=30000) |
100 | 100 |
|
101 | 101 |
self.assertEqual(0, s_user.credit, 'SynnefoUser (pk=30000) should have zero credits (%d)' % ( s_user.credit, )) |
102 |
|
|
103 |
class AuthTestCase(TestCase): |
|
104 |
fixtures = ['api_test_data', 'auth_test_data'] |
|
105 |
apibase = '/api/v1.0' |
|
106 |
|
|
107 |
def setUp(self): |
|
108 |
self.client = Client() |
|
109 |
|
|
110 |
def test_auth_headers(self): |
|
111 |
""" test whether the authentication mechanism sets the correct headers |
|
112 |
""" |
|
113 |
#Check with non-existing user |
|
114 |
response = self.client.get( self.apibase + '/servers', {}, |
|
115 |
**{'X-Auth-User':'notme', |
|
116 |
'X-Auth-Key':'0xdeadbabe'}) |
|
117 |
self.assertEquals(response.status_code, 401) |
|
118 |
|
|
119 |
#Check with existing user |
|
120 |
response = self.client.get( self.apibase + '/', {}, |
|
121 |
**{'X-Auth-User':'testuser', |
|
122 |
'X-Auth-Key':'testuserpasswd'}) |
|
123 |
self.assertEquals(response.status_code, 204) |
|
124 |
self.assertNotEqual(response['X-Auth-Token'], None) |
|
125 |
self.assertEquals(response['X-Server-Management-Url'], '') |
|
126 |
self.assertEquals(response['X-Storage-Url'], '') |
|
127 |
self.assertEquals(response['X-CDN-Management-Url'], '') |
|
128 |
|
|
129 |
#Check access now that we do have an auth token |
|
130 |
token = response['X-Auth-Token'] |
|
131 |
response = self.client.get (self.apibase + '/servers/detail', {}, |
|
132 |
**{'X-Auth-Token': token}) |
|
133 |
self.assertEquals(response.status_code, 200) |
Also available in: Unified diff