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