1 # Copyright 2012-2013 GRNET S.A. All rights reserved.
3 # Redistribution and use in source and binary forms, with or
4 # without modification, are permitted provided that the following
7 # 1. Redistributions of source code must retain the above
8 # copyright notice, this list of conditions and the following
11 # 2. Redistributions in binary form must reproduce the above
12 # copyright notice, this list of conditions and the following
13 # disclaimer in the documentation and/or other materials
14 # provided with the distribution.
16 # THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17 # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 # POSSIBILITY OF SUCH DAMAGE.
29 # The views and conclusions contained in the software and
30 # documentation are those of the authors and should not be
31 # interpreted as representing official policies, either expressed
32 # or implied, of GRNET S.A.
34 from kamaki.clients import tests
35 from kamaki.clients.astakos import AstakosClient
38 class Astakos(tests.Generic):
40 self.client = AstakosClient(
41 self['astakos', 'url'],
42 self['astakos', 'token'])
44 def test_authenticate(self):
45 self._test_0010_authenticate()
47 def _test_0010_authenticate(self):
48 r = self.client.authenticate()
57 self.assertTrue(term in r)
60 self._test_0020_info()
62 def _test_0020_info(self):
66 'uuid']).issubset(self.client.info().keys()))
71 def _test_0020_get(self):
77 self.client.term(term, self['astakos', 'token']),
78 self['astakos', term])
79 self.assertTrue(self['astakos', 'email'] in self.client.term('email'))
82 self.client.authenticate()
83 self._test_0020_list()
85 def _test_0020_list(self):
86 terms = set(['name', 'username', 'uuid', 'email', 'auth_token'])
88 for r in self.client.list():
89 self.assertTrue(terms.issubset(r.keys()))
90 self.assertTrue(uuid != r['uuid'] if uuid else True)