Revision e0e93a97
b/snf-tools/synnefo_tools/burnin/astakos_tests.py | ||
---|---|---|
37 | 37 |
""" |
38 | 38 |
|
39 | 39 |
from kamaki.clients.compute import ComputeClient |
40 |
from kamaki.clients.astakos import AstakosClient |
|
40 | 41 |
from kamaki.clients import ClientError |
41 | 42 |
|
42 | 43 |
from synnefo_tools.burnin import common |
43 | 44 |
|
45 |
_details = None |
|
46 |
|
|
44 | 47 |
|
45 | 48 |
# Too many public methods. pylint: disable-msg=R0904 |
46 | 49 |
class AstakosTestSuite(common.BurninTests): |
47 | 50 |
"""Test Astakos functionality""" |
51 |
|
|
48 | 52 |
def test_001_unauthorized_access(self): |
49 | 53 |
"""Test that access without a valid token fails""" |
50 | 54 |
false_token = "12345" |
... | ... | |
70 | 74 |
self.assertIn(given_name[our_uuid], given_uuid) |
71 | 75 |
|
72 | 76 |
self.assertEqual(given_uuid[given_name[our_uuid]], our_uuid) |
77 |
|
|
78 |
def test_005_authenticate(self): |
|
79 |
"""Test astakos.authenticate""" |
|
80 |
global _details |
|
81 |
astakos = self.clients.astakos |
|
82 |
_details = astakos.authenticate() |
|
83 |
self.info('Check result integrity') |
|
84 |
self.assertIn('access', _details) |
|
85 |
r = _details['access'] |
|
86 |
self.assertEqual(set(('user', 'token', 'serviceCatalog')), set(r)) |
|
87 |
self.info('Top-level keys are correct') |
|
88 |
self.assertEqual(self.clients.token, r['token']['id']) |
|
89 |
self.info('Token is correct') |
|
90 |
self.assertEqual( |
|
91 |
set(['roles', 'name', 'id', 'roles_links']), |
|
92 |
set(astakos.user_info)) |
|
93 |
self.info('User section is correct') |
|
94 |
|
|
95 |
def test_010_get_service_endpoints(self): |
|
96 |
"""Test endpoints integrity""" |
|
97 |
global _details |
|
98 |
scat = _details['access']['serviceCatalog'] |
|
99 |
types = ( |
|
100 |
'compute', 'object-store', 'identity', 'account', 'image', |
|
101 |
'network', 'astakos_weblogin', 'admin', 'vmapi', 'astakos_auth') |
|
102 |
self.assertEqual(set(types), set([s['type'] for s in scat])) |
|
103 |
self.info('All expected endpoint types (and only them) found') |
|
104 |
|
|
105 |
astakos = self.clients.astakos |
|
106 |
for t in types: |
|
107 |
endpoint = [s for s in scat if s['type'] == t][0]['endpoints'][0] |
|
108 |
self.assertEqual(endpoint, astakos.get_service_endpoints(t)) |
|
109 |
self.info('Endpoint call results match original results') |
|
110 |
|
|
111 |
def test_100_tearDown(self): |
|
112 |
"""Tear down astakos test""" |
|
113 |
global _details |
|
114 |
del(_details) |
Also available in: Unified diff