Revision d984eedc snf-cyclades-app/synnefo/api/tests/images.py
b/snf-cyclades-app/synnefo/api/tests/images.py | ||
---|---|---|
101 | 101 |
self.maxDiff = None |
102 | 102 |
images = [{'id': 1, |
103 | 103 |
'name': 'image-1', |
104 |
'status':'available', |
|
104 |
'status': 'available',
|
|
105 | 105 |
'created_at': '2012-11-26 11:52:54', |
106 | 106 |
'updated_at': '2012-12-26 11:52:54', |
107 | 107 |
'owner': 'user1', |
108 | 108 |
'deleted_at': '', |
109 | 109 |
'is_snapshot': False, |
110 |
'properties': {'foo':'bar'}}, |
|
110 |
'is_public': True, |
|
111 |
'properties': {'foo': 'bar'}}, |
|
111 | 112 |
{'id': 2, |
112 | 113 |
'name': 'image-2', |
113 | 114 |
'status': 'deleted', |
... | ... | |
116 | 117 |
'owner': 'user1', |
117 | 118 |
'deleted_at': '2012-12-27 11:52:54', |
118 | 119 |
'is_snapshot': False, |
120 |
'is_public': True, |
|
119 | 121 |
'properties': ''}, |
120 | 122 |
{'id': 3, |
121 | 123 |
'name': 'image-3', |
... | ... | |
125 | 127 |
'updated_at': '2012-12-26 11:52:54', |
126 | 128 |
'owner': 'user1', |
127 | 129 |
'is_snapshot': False, |
130 |
'is_public': False, |
|
128 | 131 |
'properties': ''}] |
129 | 132 |
result_images = [ |
130 | 133 |
{'id': 1, |
131 | 134 |
'name': 'image-1', |
132 |
'status':'ACTIVE', |
|
135 |
'status': 'ACTIVE',
|
|
133 | 136 |
'progress': 100, |
134 | 137 |
'created': '2012-11-26T11:52:54+00:00', |
135 | 138 |
'updated': '2012-12-26T11:52:54+00:00', |
136 | 139 |
'user_id': 'user1', |
137 | 140 |
'tenant_id': 'user1', |
138 | 141 |
'is_snapshot': False, |
139 |
'metadata': {'foo':'bar'}}, |
|
142 |
'public': True, |
|
143 |
'metadata': {'foo': 'bar'}}, |
|
140 | 144 |
{'id': 2, |
141 | 145 |
'name': 'image-2', |
142 | 146 |
'status': 'DELETED', |
... | ... | |
146 | 150 |
'created': '2012-11-26T11:52:54+00:00', |
147 | 151 |
'updated': '2012-12-26T11:52:54+00:00', |
148 | 152 |
'is_snapshot': False, |
153 |
'public': True, |
|
149 | 154 |
'metadata': {}}, |
150 | 155 |
{'id': 3, |
151 | 156 |
'name': 'image-3', |
... | ... | |
156 | 161 |
'created': '2012-11-26T11:52:54+00:00', |
157 | 162 |
'updated': '2012-12-26T11:52:54+00:00', |
158 | 163 |
'is_snapshot': False, |
164 |
'public': False, |
|
159 | 165 |
'metadata': {}}] |
160 | 166 |
mimage().list_images.return_value = images |
161 | 167 |
response = self.myget('images/detail', 'user') |
... | ... | |
175 | 181 |
images = [ |
176 | 182 |
{'id': 1, |
177 | 183 |
'name': 'image-1', |
178 |
'status':'available', |
|
184 |
'status': 'available',
|
|
179 | 185 |
'progress': 100, |
180 | 186 |
'created_at': old_time.isoformat(), |
181 | 187 |
'deleted_at': '', |
182 | 188 |
'updated_at': old_time.isoformat(), |
183 | 189 |
'owner': 'user1', |
184 | 190 |
'is_snapshot': False, |
191 |
'is_public': True, |
|
185 | 192 |
'properties': ''}, |
186 | 193 |
{'id': 2, |
187 | 194 |
'name': 'image-2', |
... | ... | |
192 | 199 |
'updated_at': new_time.isoformat(), |
193 | 200 |
'deleted_at': new_time.isoformat(), |
194 | 201 |
'is_snapshot': False, |
202 |
'is_public': False, |
|
195 | 203 |
'properties': ''}] |
196 | 204 |
mimage().list_images.return_value = images |
197 | 205 |
response =\ |
... | ... | |
211 | 219 |
'deleted_at': '', |
212 | 220 |
'owner': 'user1', |
213 | 221 |
'is_snapshot': False, |
222 |
'is_public': True, |
|
214 | 223 |
'properties': {'foo': 'bar'}} |
215 | 224 |
result_image = \ |
216 | 225 |
{'id': 42, |
... | ... | |
222 | 231 |
'user_id': 'user1', |
223 | 232 |
'tenant_id': 'user1', |
224 | 233 |
'is_snapshot': False, |
234 |
'public': True, |
|
225 | 235 |
'metadata': {'foo': 'bar'}} |
226 | 236 |
mimage.return_value.get_image.return_value = image |
227 | 237 |
response = self.myget('images/42', 'user') |
... | ... | |
232 | 242 |
|
233 | 243 |
@assert_backend_closed |
234 | 244 |
def test_invalid_image(self, mimage): |
235 |
mimage.return_value.get_image.side_effect = faults.ItemNotFound('Image not found') |
|
245 |
mimage.return_value.get_image.side_effect = \ |
|
246 |
faults.ItemNotFound('Image not found') |
|
236 | 247 |
response = self.myget('images/42', 'user') |
237 | 248 |
self.assertItemNotFound(response) |
238 | 249 |
|
... | ... | |
248 | 259 |
response = self.myget('nonexistent') |
249 | 260 |
self.assertEqual(response.status_code, 400) |
250 | 261 |
try: |
251 |
error = json.loads(response.content)
|
|
262 |
json.loads(response.content) |
|
252 | 263 |
except ValueError: |
253 | 264 |
self.assertTrue(False) |
254 | 265 |
|
... | ... | |
287 | 298 |
class ImageMetadataAPITest(ComputeAPITest): |
288 | 299 |
def setUp(self): |
289 | 300 |
self.image = {'id': 42, |
290 |
'name': 'image-1', |
|
291 |
'status': 'available', |
|
292 |
'created_at': '2012-11-26 11:52:54', |
|
293 |
'updated_at': '2012-12-26 11:52:54', |
|
294 |
'deleted_at': '', |
|
295 |
'properties': {'foo': 'bar', 'foo2': 'bar2'}} |
|
301 |
'name': 'image-1',
|
|
302 |
'status': 'available',
|
|
303 |
'created_at': '2012-11-26 11:52:54',
|
|
304 |
'updated_at': '2012-12-26 11:52:54',
|
|
305 |
'deleted_at': '',
|
|
306 |
'properties': {'foo': 'bar', 'foo2': 'bar2'}}
|
|
296 | 307 |
self.result_image = \ |
297 |
{'id': 42,
|
|
298 |
'name': 'image-1',
|
|
299 |
'status': 'ACTIVE',
|
|
300 |
'progress': 100,
|
|
301 |
'created': '2012-11-26T11:52:54+00:00',
|
|
302 |
'updated': '2012-12-26T11:52:54+00:00',
|
|
303 |
'metadata': {'foo': 'bar'}}
|
|
308 |
{'id': 42, |
|
309 |
'name': 'image-1', |
|
310 |
'status': 'ACTIVE', |
|
311 |
'progress': 100, |
|
312 |
'created': '2012-11-26T11:52:54+00:00', |
|
313 |
'updated': '2012-12-26T11:52:54+00:00', |
|
314 |
'metadata': {'foo': 'bar'}} |
|
304 | 315 |
super(ImageMetadataAPITest, self).setUp() |
305 | 316 |
|
306 | 317 |
@assert_backend_closed |
... | ... | |
329 | 340 |
backend.return_value.get_image.return_value = self.image |
330 | 341 |
response = self.mydelete('images/42/metadata/foo', 'user') |
331 | 342 |
self.assertEqual(response.status_code, 204) |
332 |
backend.return_value.update_metadata.assert_called_once_with('42', {'properties': {'foo2':
|
|
333 |
'bar2'}})
|
|
343 |
backend.return_value.update_metadata\
|
|
344 |
.assert_called_once_with('42', {'properties': {'foo2': 'bar2'}})
|
|
334 | 345 |
|
335 | 346 |
@assert_backend_closed |
336 | 347 |
def test_create_metadata_item(self, backend): |
... | ... | |
364 | 375 |
backend.return_value.get_image.return_value = self.image |
365 | 376 |
request = {'met': {'foo3': 'bar3', 'foo4': 'bar4'}} |
366 | 377 |
response = self.myput('images/42/metadata/foo3', 'user', |
367 |
json.dumps(request), 'json')
|
|
378 |
json.dumps(request), 'json') |
|
368 | 379 |
self.assertBadRequest(response) |
369 | 380 |
|
370 | 381 |
@assert_backend_closed |
Also available in: Unified diff