Example #1
0
    def test_power_on(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 = "on"
        mock_power = self.patch(driver, "power")

        yield driver.power_on(node_id, context)
        self.assertThat(
            mock_set_pxe_boot, MockCalledOnceWith(url, node_id, headers)
        )
        self.assertThat(mock_power_query, MockCalledOnceWith(node_id, context))
        self.assertThat(
            mock_power,
            MockCallsMatch(
                call("ForceOff", url, node_id, headers),
                call("On", url, node_id, headers),
            ),
        )
Example #2
0
    def test__power_on(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_query = self.patch(driver, 'power_query')
        mock_power_query.return_value = "on"
        mock_power = self.patch(driver, 'power')

        yield driver.power_on(system_id, context)
        self.assertThat(mock_set_pxe_boot, MockCalledOnceWith(
            url, node_id, headers))
        self.assertThat(mock_power_query, MockCalledOnceWith(
            system_id, context))
        self.assertThat(mock_power, MockCallsMatch(
            call("ForceOff", url, node_id, headers),
            call("On", url, node_id, headers)))