59
60
def test__issue_ipmitool_command_issues_power_on(self):
60
61
context = make_parameters()
62
ipmitool_command = make_ipmitool_command(power_change, **context)
62
env = select_c_utf8_locale()
63
ipmitool_command = make_ipmitool_command('on', **context)
63
64
moonshot_driver = MoonshotIPMIPowerDriver()
64
65
call_and_check_mock = self.patch(moonshot_module, 'call_and_check')
65
call_and_check_mock.return_value = power_change
66
call_and_check_mock.return_value = b'on'
67
result = moonshot_driver._issue_ipmitool_command(
68
power_change, **context)
68
result = moonshot_driver._issue_ipmitool_command('on', **context)
71
call_and_check_mock, MockCalledOnceWith(ipmitool_command))
72
self.expectThat(result, Equals(power_change))
71
call_and_check_mock, MockCalledOnceWith(ipmitool_command, env=env))
72
self.expectThat(result, Equals('on'))
74
74
def test__issue_ipmitool_command_issues_power_off(self):
75
75
context = make_parameters()
77
ipmitool_command = make_ipmitool_command(power_change, **context)
76
env = select_c_utf8_locale()
77
ipmitool_command = make_ipmitool_command('off', **context)
78
78
moonshot_driver = MoonshotIPMIPowerDriver()
79
79
call_and_check_mock = self.patch(moonshot_module, 'call_and_check')
80
call_and_check_mock.return_value = power_change
80
call_and_check_mock.return_value = b'off'
82
result = moonshot_driver._issue_ipmitool_command(
83
power_change, **context)
82
result = moonshot_driver._issue_ipmitool_command('off', **context)
86
call_and_check_mock, MockCalledOnceWith(ipmitool_command))
87
self.expectThat(result, Equals(power_change))
85
call_and_check_mock, MockCalledOnceWith(ipmitool_command, env=env))
86
self.expectThat(result, Equals('off'))
89
88
def test__issue_ipmitool_command_raises_power_action_error(self):
90
89
context = make_parameters()
91
power_change = 'other'
92
ipmitool_command = make_ipmitool_command(power_change, **context)
90
env = select_c_utf8_locale()
91
ipmitool_command = make_ipmitool_command('other', **context)
93
92
moonshot_driver = MoonshotIPMIPowerDriver()
94
93
call_and_check_mock = self.patch(moonshot_module, 'call_and_check')
95
call_and_check_mock.return_value = power_change
94
call_and_check_mock.return_value = b'other'
98
97
PowerActionError, moonshot_driver._issue_ipmitool_command,
99
power_change, **context)
101
call_and_check_mock, MockCalledOnceWith(ipmitool_command))
100
call_and_check_mock, MockCalledOnceWith(ipmitool_command, env=env))
103
102
def test__issue_ipmitool_raises_power_fatal_error(self):
104
103
context = make_parameters()