Skip to content

Commit d5f1ed5

Browse files
#2124 added hardware tests
1 parent da699ef commit d5f1ed5

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
"""
2+
SoftLayer.tests.CLI.modules.hardware.hardware_firmware_tests
3+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4+
5+
This suite is for the firmware related tests.
6+
7+
:license: MIT, see LICENSE for more details.
8+
"""
9+
from SoftLayer.CLI import exceptions
10+
from SoftLayer import testing
11+
from unittest import mock as mock
12+
13+
14+
class HardwareFirmwareTests(testing.TestCase):
15+
16+
@mock.patch('SoftLayer.CLI.formatting.confirm')
17+
def test_update_firmware(self, confirm_mock):
18+
confirm_mock.return_value = True
19+
result = self.run_command(['server', 'update-firmware', '1000'])
20+
self.assert_no_fail(result)
21+
self.assertIn("Firmware update for 1000 started", result.output)
22+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
23+
args=((1, 1, 1, 1, 1)), identifier=1000)
24+
25+
@mock.patch('SoftLayer.CLI.formatting.confirm')
26+
def test_update_firmware_just_ipmi(self, confirm_mock):
27+
confirm_mock.return_value = True
28+
result = self.run_command(['server', 'update-firmware', '1000', '-i'])
29+
30+
self.assert_no_fail(result)
31+
self.assertIn("Firmware update for 1000 started", result.output)
32+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
33+
args=((1, 0, 0, 0, 0)), identifier=1000)
34+
35+
@mock.patch('SoftLayer.CLI.formatting.confirm')
36+
def test_update_firmware_just_raid(self, confirm_mock):
37+
confirm_mock.return_value = True
38+
result = self.run_command(['server', 'update-firmware', '1000', '-r'])
39+
40+
self.assert_no_fail(result)
41+
self.assertIn("Firmware update for 1000 started", result.output)
42+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
43+
args=((0, 1, 0, 0, 0)), identifier=1000)
44+
45+
@mock.patch('SoftLayer.CLI.formatting.confirm')
46+
def test_update_firmware_just_bios(self, confirm_mock):
47+
confirm_mock.return_value = True
48+
result = self.run_command(['server', 'update-firmware', '1000', '-b'])
49+
50+
self.assert_no_fail(result)
51+
self.assertIn("Firmware update for 1000 started", result.output)
52+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
53+
args=((0, 0, 1, 0, 0)), identifier=1000)
54+
55+
@mock.patch('SoftLayer.CLI.formatting.confirm')
56+
def test_update_firmware_just_disk(self, confirm_mock):
57+
confirm_mock.return_value = True
58+
result = self.run_command(['server', 'update-firmware', '1000', '-d'])
59+
60+
self.assert_no_fail(result)
61+
self.assertIn("Firmware update for 1000 started", result.output)
62+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
63+
args=((0, 0, 0, 1, 0)), identifier=1000)
64+
65+
@mock.patch('SoftLayer.CLI.formatting.confirm')
66+
def test_update_firmware_just_nic(self, confirm_mock):
67+
confirm_mock.return_value = True
68+
result = self.run_command(['server', 'update-firmware', '1000', '-n'])
69+
70+
self.assert_no_fail(result)
71+
self.assertIn("Firmware update for 1000 started", result.output)
72+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
73+
args=((0, 0, 0, 0, 1)), identifier=1000)
74+
75+
@mock.patch('SoftLayer.CLI.formatting.confirm')
76+
def test_update_firmware_just_all(self, confirm_mock):
77+
confirm_mock.return_value = True
78+
result = self.run_command(['server', 'update-firmware', '1000', '-i', '-r', '-b', '-d', '-n'])
79+
80+
self.assert_no_fail(result)
81+
self.assertIn("Firmware update for 1000 started", result.output)
82+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareUpdateTransaction',
83+
args=((1, 1, 1, 1, 1)), identifier=1000)
84+
85+
@mock.patch('SoftLayer.CLI.formatting.confirm')
86+
def test_update_firmware_no_confirm(self, confirm_mock):
87+
confirm_mock.return_value = False
88+
89+
result = self.run_command(['server', 'update-firmware', '1000'])
90+
self.assertEqual(result.exit_code, 2)
91+
self.assertIsInstance(result.exception, exceptions.CLIAbort)
92+
93+
@mock.patch('SoftLayer.CLI.formatting.confirm')
94+
def test_reflash_firmware(self, confirm_mock):
95+
confirm_mock.return_value = True
96+
result = self.run_command(['server', 'reflash-firmware', '1000'])
97+
98+
self.assert_no_fail(result)
99+
self.assertEqual(result.output, 'Successfully device firmware reflashed\n')
100+
self.assert_called_with('SoftLayer_Hardware_Server', 'createFirmwareReflashTransaction',
101+
args=((1, 1, 1)), identifier=1000)
102+
103+
@mock.patch('SoftLayer.CLI.formatting.confirm')
104+
def test_reflash_firmware_no_confirm(self, confirm_mock):
105+
confirm_mock.return_value = False
106+
107+
result = self.run_command(['server', 'reflash-firmware', '1000'])
108+
self.assertEqual(result.exit_code, 2)
109+
self.assertIsInstance(result.exception, exceptions.CLIAbort)

0 commit comments

Comments
 (0)