31 |
31 |
# interpreted as representing official policies, either expressed
|
32 |
32 |
# or implied, of GRNET S.A.
|
33 |
33 |
|
34 |
|
import gevent.monkey
|
35 |
|
#Monkey-patch everything for gevent early on
|
|
34 |
import gevent.monkey #Monkey-patch everything for gevent early on
|
36 |
35 |
gevent.monkey.patch_all()
|
37 |
36 |
|
38 |
37 |
from argparse import ArgumentParser
|
... | ... | |
69 |
68 |
|
70 |
69 |
class testImage(unittest.TestCase):
|
71 |
70 |
def setUp(self):
|
72 |
|
url = 'https://plankton.okeanos.grnet.gr'
|
|
71 |
url = 'https://cyclades.okeanos.grnet.gr/plankton'
|
73 |
72 |
token = 'Kn+G9dfmlPLR2WFnhfBOow=='
|
74 |
73 |
self.client = image(url, token)
|
75 |
74 |
|
76 |
75 |
def tearDown(self):
|
77 |
76 |
pass
|
78 |
77 |
|
|
78 |
def assert_dicts_are_deeply_equal(self, d1, d2):
|
|
79 |
for k,v in d1.items():
|
|
80 |
self.assertTrue(d2.has_key(k))
|
|
81 |
if isinstance(v, dict):
|
|
82 |
self.assert_dicts_are_deeply_equal(v, d2[k])
|
|
83 |
else:
|
|
84 |
self.assertEqual(unicode(v), unicode(d2[k]))
|
|
85 |
|
79 |
86 |
def test_list_public(self):
|
|
87 |
"""Test list_public"""
|
80 |
88 |
r = self.client.list_public()
|
81 |
|
print(r)
|
|
89 |
r0 = self.client.list_public(order='-')
|
|
90 |
self.assertTrue(len(r)>0)
|
|
91 |
for img in r:
|
|
92 |
for term in ('status',
|
|
93 |
'name',
|
|
94 |
'container_format',
|
|
95 |
'disk_format',
|
|
96 |
'id',
|
|
97 |
'size'):
|
|
98 |
self.assertTrue(img.has_key(term))
|
|
99 |
self.assertTrue(len(r), len(r0))
|
|
100 |
r0.reverse()
|
|
101 |
for i, img in enumerate(r):
|
|
102 |
self.assert_dicts_are_deeply_equal(img, r0[i])
|
|
103 |
r1 = self.client.list_public(detail=True)
|
|
104 |
for img in r1:
|
|
105 |
for term in ('status',
|
|
106 |
'name',
|
|
107 |
'checksum',
|
|
108 |
'created_at',
|
|
109 |
'disk_format',
|
|
110 |
'updated_at',
|
|
111 |
'id',
|
|
112 |
'location',
|
|
113 |
'container_format',
|
|
114 |
'owner',
|
|
115 |
'is_public',
|
|
116 |
'deleted_at',
|
|
117 |
'properties',
|
|
118 |
'size'):
|
|
119 |
self.assertTrue(img.has_key(term))
|
|
120 |
for interm in ('kernel',
|
|
121 |
'osfamily',
|
|
122 |
'users',
|
|
123 |
'gui',
|
|
124 |
'sortorder',
|
|
125 |
'os',
|
|
126 |
'root_partition',
|
|
127 |
'description'):
|
|
128 |
self.assertTrue(img['properties'].has_key(interm))
|
|
129 |
size_max = 1000000000
|
|
130 |
r2 = self.client.list_public(filters=dict(size_max=size_max))
|
|
131 |
self.assertTrue(len(r2) <= len(r))
|
|
132 |
for img in r2:
|
|
133 |
self.assertTrue(int(img['size'])<=size_max)
|
|
134 |
|
|
135 |
def test_get_meta(self):
|
|
136 |
"""Test get_meta"""
|
|
137 |
pass
|
82 |
138 |
|
83 |
139 |
class testCyclades(unittest.TestCase):
|
84 |
140 |
"""Set up a Cyclades thorough test"""
|