blob: 4ba23866d076a2fc961ea9a481e678f3d4854444 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# -*- coding: utf-8 -*-
from ..controllers._version import APIVersion
from ..controllers.daemon import Daemon
from ..tests import ControllerTestCase, patch_orch
class DaemonTest(ControllerTestCase):
URL_DAEMON = '/api/daemon'
@classmethod
def setup_server(cls):
cls.setup_controllers([Daemon])
def test_daemon_action(self):
msg = "Scheduled to stop crash.b78cd1164a1b on host 'hostname'"
with patch_orch(True) as fake_client:
fake_client.daemons.action.return_value = msg
payload = {
'action': 'restart',
'container_image': None
}
self._put(f'{self.URL_DAEMON}/crash.b78cd1164a1b', payload, version=APIVersion(0, 1))
self.assertJsonBody(msg)
self.assertStatus(200)
def test_daemon_invalid_action(self):
payload = {
'action': 'invalid',
'container_image': None
}
with patch_orch(True):
self._put(f'{self.URL_DAEMON}/crash.b78cd1164a1b', payload, version=APIVersion(0, 1))
self.assertJsonBody({
'detail': 'Daemon action "invalid" is either not valid or not supported.',
'code': 'invalid_daemon_action',
'component': None
})
self.assertStatus(400)
def test_daemon_list(self):
with patch_orch(True):
self._get(f'{self.URL_DAEMON}')
self.assertStatus(200)
|