|
17 | 17 |
|
18 | 18 | from openstackclient.compute.v2 import console |
19 | 19 | from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes |
| 20 | +from openstackclient.tests.unit import utils |
20 | 21 |
|
21 | 22 |
|
22 | 23 | class TestConsole(compute_fakes.TestComputev2): |
23 | 24 |
|
24 | 25 | def setUp(self): |
25 | 26 | super(TestConsole, self).setUp() |
| 27 | + |
| 28 | + # SDK mock |
| 29 | + self.app.client_manager.sdk_connection = mock.Mock() |
| 30 | + self.app.client_manager.sdk_connection.compute = mock.Mock() |
| 31 | + self.sdk_client = self.app.client_manager.sdk_connection.compute |
| 32 | + self.sdk_client.find_server = mock.Mock() |
| 33 | + self.sdk_client.get_server_console_output = mock.Mock() |
| 34 | + |
26 | 35 | self.servers_mock = self.app.client_manager.compute.servers |
27 | 36 | self.servers_mock.reset_mock() |
28 | 37 |
|
29 | 38 |
|
| 39 | +class TestConsoleLog(TestConsole): |
| 40 | + _server = compute_fakes.FakeServer.create_one_server() |
| 41 | + |
| 42 | + def setUp(self): |
| 43 | + super(TestConsoleLog, self).setUp() |
| 44 | + |
| 45 | + self.sdk_client.find_server.return_value = self._server |
| 46 | + |
| 47 | + self.cmd = console.ShowConsoleLog(self.app, None) |
| 48 | + |
| 49 | + def test_show_no_args(self): |
| 50 | + arglist = [ |
| 51 | + ] |
| 52 | + verifylist = [ |
| 53 | + ] |
| 54 | + self.assertRaises(utils.ParserException, |
| 55 | + self.check_parser, |
| 56 | + self.cmd, |
| 57 | + arglist, |
| 58 | + verifylist) |
| 59 | + |
| 60 | + def test_show(self): |
| 61 | + arglist = [ |
| 62 | + 'fake_server' |
| 63 | + ] |
| 64 | + verifylist = [ |
| 65 | + ('server', 'fake_server') |
| 66 | + ] |
| 67 | + parsed_args = self.check_parser(self.cmd, arglist, verifylist) |
| 68 | + |
| 69 | + output = { |
| 70 | + 'output': '1st line\n2nd line\n' |
| 71 | + } |
| 72 | + self.sdk_client.get_server_console_output.return_value = output |
| 73 | + self.cmd.take_action(parsed_args) |
| 74 | + |
| 75 | + self.sdk_client.find_server.assert_called_with( |
| 76 | + name_or_id='fake_server', ignore_missing=False) |
| 77 | + self.sdk_client.get_server_console_output.assert_called_with( |
| 78 | + self._server.id, |
| 79 | + length=None |
| 80 | + ) |
| 81 | + stdout = self.app.stdout.content |
| 82 | + self.assertEqual(stdout[0], output['output']) |
| 83 | + |
| 84 | + def test_show_lines(self): |
| 85 | + arglist = [ |
| 86 | + 'fake_server', |
| 87 | + '--lines', '15' |
| 88 | + ] |
| 89 | + verifylist = [ |
| 90 | + ('server', 'fake_server'), |
| 91 | + ('lines', 15) |
| 92 | + ] |
| 93 | + parsed_args = self.check_parser(self.cmd, arglist, verifylist) |
| 94 | + |
| 95 | + output = { |
| 96 | + 'output': '1st line\n2nd line' |
| 97 | + } |
| 98 | + self.sdk_client.get_server_console_output.return_value = output |
| 99 | + self.cmd.take_action(parsed_args) |
| 100 | + |
| 101 | + self.sdk_client.find_server.assert_called_with( |
| 102 | + name_or_id='fake_server', ignore_missing=False) |
| 103 | + self.sdk_client.get_server_console_output.assert_called_with( |
| 104 | + self._server.id, |
| 105 | + length=15 |
| 106 | + ) |
| 107 | + |
| 108 | + |
30 | 109 | class TestConsoleUrlShow(TestConsole): |
31 | 110 |
|
32 | 111 | def setUp(self): |
|
0 commit comments