Revision cc5c8608 snf-cyclades-app/synnefo/helpdesk/tests.py
b/snf-cyclades-app/synnefo/helpdesk/tests.py | ||
---|---|---|
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
# |
34 | 34 |
|
35 |
import mock |
|
36 |
|
|
35 | 37 |
from django.test import TestCase, Client |
36 | 38 |
from django.conf import settings |
37 | 39 |
from django.core.urlresolvers import reverse |
... | ... | |
47 | 49 |
USERS_DISPLAYNAMES = dict(map(lambda k: (k[1]['displayname'], {'uuid': k[0]}), |
48 | 50 |
USERS_UUIDS.iteritems())) |
49 | 51 |
|
52 |
from synnefo.db import models_factory as mfactory |
|
53 |
|
|
50 | 54 |
class AuthClient(Client): |
51 | 55 |
|
52 | 56 |
def request(self, **request): |
... | ... | |
242 | 246 |
vms = r.context['vms'] |
243 | 247 |
self.assertEqual(r.context['account_exists'], False) |
244 | 248 |
self.assertEqual(vms.count(), 0) |
249 |
|
|
250 |
def test_start_shutdown(self): |
|
251 |
from synnefo.logic import backend |
|
252 |
|
|
253 |
self.vm1 = mfactory.VirtualMachineFactory(userid=USER1) |
|
254 |
pk = self.vm1.pk |
|
255 |
|
|
256 |
r = self.client.post(reverse('helpdesk-vm-shutdown', args=(pk,))) |
|
257 |
self.assertEqual(r.status_code, 403) |
|
258 |
|
|
259 |
r = self.client.post(reverse('helpdesk-vm-shutdown', args=(pk,)), |
|
260 |
data={'token': '0001'}) |
|
261 |
self.assertEqual(r.status_code, 403) |
|
262 |
|
|
263 |
backend.shutdown_instance = shutdown = mock.Mock() |
|
264 |
self.vm1.operstate = 'STARTED' |
|
265 |
self.vm1.save() |
|
266 |
r = self.client.post(reverse('helpdesk-vm-shutdown', args=(pk,)), |
|
267 |
data={'token': '0001'}, user_token='0001') |
|
268 |
self.assertEqual(r.status_code, 302) |
|
269 |
self.assertTrue(shutdown.called) |
|
270 |
self.assertEqual(len(shutdown.mock_calls), 1) |
|
271 |
|
|
272 |
backend.startup_instance = startup = mock.Mock() |
|
273 |
self.vm1.operstate = 'STOPPED' |
|
274 |
self.vm1.save() |
|
275 |
r = self.client.post(reverse('helpdesk-vm-start', args=(pk,)), |
|
276 |
data={'token': '0001'}, user_token='0001') |
|
277 |
self.assertEqual(r.status_code, 302) |
|
278 |
self.assertTrue(startup.called) |
|
279 |
self.assertEqual(len(startup.mock_calls), 1) |
Also available in: Unified diff