Statistics
| Branch: | Tag: | Revision:

root / api / tests_auth.py @ 7584d408

History | View | Annotate | Download (1.5 kB)

1 5fb55fba Georgios Gousios
#
2 5fb55fba Georgios Gousios
# Unit Tests for api
3 5fb55fba Georgios Gousios
#
4 5fb55fba Georgios Gousios
# Provides automated tests for api module
5 5fb55fba Georgios Gousios
#
6 5fb55fba Georgios Gousios
# Copyright 2011 Greek Research and Technology Network
7 5fb55fba Georgios Gousios
#
8 5fb55fba Georgios Gousios
9 5fb55fba Georgios Gousios
from django.test import TestCase
10 5fb55fba Georgios Gousios
from django.test.client import Client
11 5fb55fba Georgios Gousios
12 5fb55fba Georgios Gousios
class AuthTestCase(TestCase):
13 5fb55fba Georgios Gousios
    fixtures = ['auth_test_data']
14 5fb55fba Georgios Gousios
    apibase = '/api/v1.0'
15 5fb55fba Georgios Gousios
16 5fb55fba Georgios Gousios
    def setUp(self):
17 5fb55fba Georgios Gousios
        self.client = Client()
18 5fb55fba Georgios Gousios
19 5fb55fba Georgios Gousios
    def test_auth_headers(self):
20 5fb55fba Georgios Gousios
        """ test whether the authentication mechanism sets the correct headers
21 5fb55fba Georgios Gousios
        """
22 5fb55fba Georgios Gousios
        #Check with non-existing user
23 5fb55fba Georgios Gousios
        response = self.client.get( self.apibase + '/servers', {},
24 5fb55fba Georgios Gousios
                                   **{'X-Auth-User':'notme',
25 5fb55fba Georgios Gousios
                                      'X-Auth-Key':'0xdeadbabe'})
26 5fb55fba Georgios Gousios
        self.assertEquals(response.status_code, 401)
27 5fb55fba Georgios Gousios
28 5fb55fba Georgios Gousios
        #Check with existing user
29 5fb55fba Georgios Gousios
        response = self.client.get( self.apibase + '/', {},
30 5fb55fba Georgios Gousios
                                   **{'X-Auth-User':'testuser',
31 5fb55fba Georgios Gousios
                                      'X-Auth-Key':'testuserpasswd'})
32 5fb55fba Georgios Gousios
        self.assertEquals(response.status_code, 204)
33 5fb55fba Georgios Gousios
        self.assertNotEqual(response['X-Auth-Token'], None)
34 5fb55fba Georgios Gousios
        self.assertEquals(response['X-Server-Management-Url'], '')
35 5fb55fba Georgios Gousios
        self.assertEquals(response['X-Storage-Url'], '')
36 5fb55fba Georgios Gousios
        self.assertEquals(response['X-CDN-Management-Url'], '')
37 5fb55fba Georgios Gousios
38 5fb55fba Georgios Gousios
        #Check access now that we do have an auth token
39 5fb55fba Georgios Gousios
        token = response['X-Auth-Token']
40 5fb55fba Georgios Gousios
        response = self.client.get (self.apibase + '/servers/detail', {},
41 5fb55fba Georgios Gousios
                                   **{'X-Auth-Token': token})
42 5fb55fba Georgios Gousios
        self.assertEquals(response.status_code, 200)