Revision 055b217a
b/kamaki/clients/tests.py | ||
---|---|---|
60 | 60 |
token='0TpoyAXqJSPxLdDuZHiLOA==' |
61 | 61 |
account='saxtouri@admin.grnet.gr' |
62 | 62 |
self.img = '43cc8497-61c3-4c46-ae8d-3e33861f8527' |
63 |
|
|
63 |
self.img_details= { |
|
64 |
u'status': u'ACTIVE', |
|
65 |
u'updated': u'2012-08-21T12:57:39+00:00', |
|
66 |
u'name': u'Debian Base', |
|
67 |
u'created': u'2012-08-21T12:56:53+00:00', |
|
68 |
u'progress': 100, |
|
69 |
u'id': u'43cc8497-61c3-4c46-ae8d-3e33861f8527', |
|
70 |
u'metadata': { |
|
71 |
u'values': { |
|
72 |
u'kernel': u'2.6.32', |
|
73 |
u'osfamily': u'linux', |
|
74 |
u'users': u'root', |
|
75 |
u'gui': u'No GUI', |
|
76 |
u'sortorder': u'1', |
|
77 |
u'os': u'debian', |
|
78 |
u'root_partition': |
|
79 |
u'1', u'description': |
|
80 |
u'Debian Squeeze Base System'} |
|
81 |
} |
|
82 |
} |
|
64 | 83 |
flavorid = 1 |
65 |
self.pseudo = False |
|
66 | 84 |
|
67 | 85 |
self.servers = {} |
68 | 86 |
self.now = time.mktime(time.gmtime()) |
... | ... | |
76 | 94 |
|
77 | 95 |
def tearDown(self): |
78 | 96 |
"""Destoy servers used in testing""" |
79 |
if self.pseudo:
|
|
97 |
if 0 >= len(self.servers):
|
|
80 | 98 |
return |
81 | 99 |
there_are_servers_running = True |
82 | 100 |
deleted_servers = {} |
... | ... | |
87 | 105 |
there_are_servers_running = False |
88 | 106 |
if waitime > 0: |
89 | 107 |
c = ['|','/','-','\\'] |
90 |
sys.stdout.write('\t. . . wait %s seconds . . . '%waitime) |
|
91 |
for i in range(waitime): |
|
92 |
sys.stdout.write('\b'+c[i%4]) |
|
108 |
suffix = '' |
|
109 |
sys.stdout.write('\t. . . wait %s seconds: '%waitime) |
|
110 |
for i in range(4*waitime): |
|
111 |
oldlen = len(suffix) |
|
112 |
suffix = '%ss %s'%(i/4, c[i%4]) |
|
113 |
sys.stdout.write(oldlen*'\b'+suffix) |
|
93 | 114 |
sys.stdout.flush() |
94 |
time.sleep(1) |
|
95 |
sys.stdout.write('\b \n') |
|
115 |
time.sleep(0.25) |
|
116 |
oldlen = len(': '+suffix) |
|
117 |
print(oldlen*'\b'+oldlen*' ') |
|
96 | 118 |
sys.stdout.flush() |
97 |
waitime += 10
|
|
119 |
waitime += 7
|
|
98 | 120 |
dservers = self.client.list_servers(detail=True) |
99 | 121 |
for server in dservers: |
100 | 122 |
if server['name'] in self.servers.keys(): |
... | ... | |
129 | 151 |
def _delete_server(self, servid): |
130 | 152 |
self.client.delete_server(servid) |
131 | 153 |
|
154 |
def dont_test(self): |
|
155 |
global TEST_ALL |
|
156 |
if TEST_ALL: |
|
157 |
return True |
|
158 |
return False |
|
159 |
|
|
160 |
def assert_dicts_are_deeply_equal(self, d1, d2): |
|
161 |
for k,v in d1.items(): |
|
162 |
self.assertTrue(d2.has_key(k)) |
|
163 |
if isinstance(v, dict): |
|
164 |
self.assert_dicts_are_deeply_equal(v, d2[k]) |
|
165 |
else: |
|
166 |
self.assertEqual(unicode(v), unicode(d2[k])) |
|
167 |
|
|
168 |
|
|
132 | 169 |
def test_000(self): |
133 | 170 |
"Prepare a full Cyclades test scenario" |
134 | 171 |
global TEST_ALL |
... | ... | |
141 | 178 |
sys.stdout.write(' test create server') |
142 | 179 |
self._test_create_server() |
143 | 180 |
print('...ok') |
181 |
|
|
144 | 182 |
sys.stdout.write(' test list servers') |
145 | 183 |
self._test_list_servers() |
146 | 184 |
print('...ok') |
147 | 185 |
|
186 |
sys.stdout.write(' test get server details') |
|
187 |
self._test_get_server_details() |
|
188 |
print('...ok') |
|
189 |
|
|
190 |
sys.stdout.write(' test get image details') |
|
191 |
self._test_get_image_details() |
|
192 |
print('...ok') |
|
148 | 193 |
|
149 |
def dont_test(self): |
|
150 |
global TEST_ALL |
|
151 |
if TEST_ALL: |
|
152 |
self.pseudo = True |
|
153 |
return True |
|
154 |
return False |
|
155 | 194 |
|
156 | 195 |
def test_list_servers(self): |
157 | 196 |
"""Test list servers""" |
... | ... | |
183 | 222 |
if self.dont_test(): |
184 | 223 |
return |
185 | 224 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img) |
186 |
self.server2 = self._create_server(self.servname2, self.flavorid, self.img) |
|
187 |
self._test_create_server(self) |
|
225 |
self._test_create_server() |
|
188 | 226 |
|
189 | 227 |
def _test_create_server(self): |
190 |
|
|
191 | 228 |
self.assertEqual(self.server1["name"], self.servname1) |
192 | 229 |
self.assertEqual(self.server1["flavorRef"], self.flavorid) |
193 | 230 |
self.assertEqual(self.server1["imageRef"], self.img) |
194 | 231 |
self.assertEqual(self.server1["status"], "BUILD") |
195 |
self.assertEqual(self.server2["name"], self.servname2) |
|
196 |
self.assertEqual(self.server2["flavorRef"], self.flavorid) |
|
197 |
self.assertEqual(self.server2["imageRef"], self.img) |
|
198 |
self.assertEqual(self.server2["status"], "BUILD") |
|
232 |
|
|
233 |
def test_get_server_details(self): |
|
234 |
"""Test get_server_details""" |
|
235 |
if self.dont_test(): |
|
236 |
return |
|
237 |
self.server1 = self._create_server(self.servname1, self.flavorid, self.img) |
|
238 |
self._test_get_server_details() |
|
239 |
|
|
240 |
def _test_get_server_details(self): |
|
241 |
r = self.client.get_server_details(self.server1['id']) |
|
242 |
self.assertEqual(r["name"], self.servname1) |
|
243 |
self.assertEqual(r["flavorRef"], self.flavorid) |
|
244 |
self.assertEqual(r["imageRef"], self.img) |
|
245 |
self.assertEqual(r["status"], "BUILD") |
|
246 |
|
|
247 |
def test_get_image_details(self): |
|
248 |
"""Test get_image_details""" |
|
249 |
if self.dont_test(): |
|
250 |
return |
|
251 |
self._test_get_image_details() |
|
252 |
|
|
253 |
def _test_get_image_details(self): |
|
254 |
r = self.client.get_image_details(self.img) |
|
255 |
d = self.img_details |
|
256 |
self.assert_dicts_are_deeply_equal(r, d) |
|
199 | 257 |
|
200 | 258 |
class testPithos(unittest.TestCase): |
201 | 259 |
"""Set up a Pithos+ thorough test""" |
... | ... | |
1037 | 1095 |
suiteFew.addTest(testPithos('test_'+argv[1])) |
1038 | 1096 |
if len(argv) == 0 or argv[0] == 'cyclades': |
1039 | 1097 |
if len(argv) == 1: |
1040 |
suiteFew.addTest(unittest.makeSuite(testCyclades)) |
|
1098 |
#suiteFew.addTest(unittest.makeSuite(testCyclades)) |
|
1099 |
suiteFew.addTest(testCyclades('test_000')) |
|
1041 | 1100 |
else: |
1042 | 1101 |
suiteFew.addTest(testCyclades('test_'+argv[1])) |
1043 | 1102 |
|
Also available in: Unified diff