Esempio n. 1
0
 def test_power_status_not_installed(self, zboot, rack):
     instance = ZerobootRacktivityHost(name="test", data=self._valid_data)
     with pytest.raises(
             StateCheckError,
             message=
             "power_status should be not be able to be called before install"
     ):
         instance.power_status()
Esempio n. 2
0
    def test_power_status(self, zboot, rack):
        instance = ZerobootRacktivityHost(name="test", data=self._valid_data)
        instance.state.set('actions', 'install', 'ok')
        rack.get = MagicMock()

        instance.power_status()

        expected_calls = []
        for d in reversed(self._valid_data['racktivities']):
            expected_calls.append(zboot.get().port_info(
                d['port'], mock.ANY, d['powermodule']))
Esempio n. 3
0
    def test_monitor_power_off(self):
        instance = ZerobootRacktivityHost(name="test", data=self._valid_data)
        instance.state.set('actions', 'install', 'ok')
        instance.power_on = MagicMock()
        instance.power_off = MagicMock()
        instance.power_status = MagicMock(return_value=True)
        instance.data['powerState'] = False

        instance.monitor()

        # power state mismatched, power_off should have been called
        instance.power_on.assert_not_called()
        instance.power_off.assert_called_with()
Esempio n. 4
0
    def test_monitor_matching_state(self):
        instance = ZerobootRacktivityHost(name="test", data=self._valid_data)
        instance.state.set('actions', 'install', 'ok')
        instance.power_on = MagicMock()
        instance.power_off = MagicMock()
        instance.power_status = MagicMock(return_value=True)
        instance.data['powerState'] = True

        instance.monitor()

        # no power calls should be make
        instance.power_on.assert_not_called()
        instance.power_off.assert_not_called()
Esempio n. 5
0
    def test_validate_no_zboot_instance(self, zboot, rack):
        instance = ZerobootRacktivityHost(name="test", data=self._valid_data)

        zboot.list = MagicMock(return_value=[])
        rack.list = MagicMock(return_value=self._rack_clients)
        instance.power_status = MagicMock(return_value=True)

        with pytest.raises(
                LookupError,
                message="zeroboot instance should not be present") as excinfo:
            instance.validate()
        if "zboot client" not in str(excinfo.value):
            pytest.fail(
                "Received unexpected error message for missing zboot instance: %s"
                % str(excinfo.value))