def test__power_off(self): driver = RedfishPowerDriver() system_id = factory.make_name('system_id') context = make_context() url = driver.get_url(context) headers = driver.make_auth_headers(**context) node_id = context.get('node_id').encode('utf-8') mock_set_pxe_boot = self.patch(driver, 'set_pxe_boot') mock_power = self.patch(driver, 'power') yield driver.power_off(system_id, context) self.assertThat(mock_set_pxe_boot, MockCalledOnceWith( url, node_id, headers)) self.assertThat(mock_power, MockCalledOnceWith( "ForceOff", url, node_id, headers))
def test__power_off_already_off(self): driver = RedfishPowerDriver() context = make_context() url = driver.get_url(context) headers = driver.make_auth_headers(**context) node_id = b"1" mock_redfish_request = self.patch(driver, "redfish_request") mock_redfish_request.return_value = (SAMPLE_JSON_SYSTEMS, None) mock_set_pxe_boot = self.patch(driver, "set_pxe_boot") mock_power_query = self.patch(driver, "power_query") mock_power_query.return_value = "off" mock_power = self.patch(driver, "power") yield driver.power_off(node_id, context) self.assertThat(mock_set_pxe_boot, MockCalledOnceWith(url, node_id, headers)) self.assertThat(mock_power, MockNotCalled())
def test__power_off(self): driver = RedfishPowerDriver() context = make_context() url = driver.get_url(context) headers = driver.make_auth_headers(**context) node_id = b'1' mock_redfish_request = self.patch(driver, 'redfish_request') mock_redfish_request.return_value = ( SAMPLE_JSON_SYSTEMS, None) mock_set_pxe_boot = self.patch(driver, 'set_pxe_boot') mock_power = self.patch(driver, 'power') yield driver.power_off(node_id, context) self.assertThat(mock_set_pxe_boot, MockCalledOnceWith( url, node_id, headers)) self.assertThat(mock_power, MockCalledOnceWith( "ForceOff", url, node_id, headers))