Revision e0e93a97 snf-tools/synnefo_tools/burnin/astakos_tests.py

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