Beispiel #1
0
    def test_should_fail_when_interconnect_not_found(self):
        state_check = StateCheck('uid_on')

        self.resource.get_by.return_value = []
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by.assert_called_once_with('name',
                                                     SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_not_called()

        self.mock_ansible_module.fail_json.assert_called_once_with(
            msg=SasInterconnectModule.MSG_NOT_FOUND, )
Beispiel #2
0
    def test_should_do_nothing_when_uid_is_already_on(self):
        sas_interconnect = dict(uidState='On', **SAS_INTERCONNECT)
        state_check = StateCheck('uid_on')

        self.resource.get_by.return_value = [sas_interconnect]
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by.assert_called_once_with('name',
                                                     SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_not_called()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False,
            msg=SasInterconnectModule.MSG_NOTHING_TO_DO,
            ansible_facts=dict(sas_interconnect=sas_interconnect))
Beispiel #3
0
    def test_should_turn_off_the_uid_when_uid_is_on(self):
        sas_interconnect = dict(uidState='On', **SAS_INTERCONNECT)
        state_check = StateCheck('uid_off')

        self.resource.data = sas_interconnect
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by_name.assert_called_once_with(
            SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_called_once_with(**state_check.state)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=state_check.msg,
            ansible_facts=dict(sas_interconnect=sas_interconnect))
Beispiel #4
0
    def test_should_perform_hard_reset(self):
        state_check = StateCheck('hard_reset')

        self.resource.get_by.return_value = [SAS_INTERCONNECT]
        self.resource.patch.return_value = SAS_INTERCONNECT
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by.assert_called_once_with('name',
                                                     SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_called_once_with(
            id_or_uri=SAS_INTERCONNECT_URI, **state_check.state)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=state_check.msg,
            ansible_facts=dict(sas_interconnect=SAS_INTERCONNECT))
Beispiel #5
0
    def test_should_do_nothing_when_the_sas_interconnect_is_already_powered_on(
            self):
        sas_interconnect = dict(powerState='On', **SAS_INTERCONNECT)
        state_check = StateCheck('powered_on')

        self.resource.data = sas_interconnect
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by_name.assert_called_once_with(
            SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_not_called()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False,
            msg=SasInterconnectModule.MSG_NOTHING_TO_DO,
            ansible_facts=dict(sas_interconnect=sas_interconnect))
Beispiel #6
0
    def test_should_refresh_the_sas_interconnect(self):
        state_check = StateCheck('refreshed')

        self.resource.data = SAS_INTERCONNECT
        self.resource.refresh_state.return_value = SAS_INTERCONNECT
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by_name.assert_called_once_with(
            SAS_INTERCONNECT_NAME)

        self.resource.refresh_state.assert_called_once_with(
            configuration=REFRESH_CONFIGURATION)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=state_check.msg,
            ansible_facts=dict(sas_interconnect=SAS_INTERCONNECT))
Beispiel #7
0
    def test_should_perform_soft_reset(self):
        state_check = StateCheck('soft_reset')

        self.resource.data = SAS_INTERCONNECT
        obj = mock.Mock()
        obj.data = SAS_INTERCONNECT
        self.resource.patch.return_value = obj
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by_name.assert_called_once_with(
            SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_called_once_with(**state_check.state)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=state_check.msg,
            ansible_facts=dict(sas_interconnect=SAS_INTERCONNECT))
Beispiel #8
0
    def test_should_turn_on_the_uid_when_uid_is_off(self):
        sas_interconnect = dict(uidState='Off', **SAS_INTERCONNECT)

        state_check = StateCheck('uid_on')

        self.resource.get_by.return_value = [sas_interconnect]
        self.resource.patch.return_value = SAS_INTERCONNECT
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by.assert_called_once_with('name',
                                                     SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_called_once_with(
            id_or_uri=SAS_INTERCONNECT_URI, **state_check.state)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=state_check.msg,
            ansible_facts=dict(sas_interconnect=SAS_INTERCONNECT))
Beispiel #9
0
    def test_should_turn_the_power_on_when_the_sas_interconnect_is_powered_off(
            self):
        state_check = StateCheck('powered_on')

        sas_interconnect = dict(powerState='Off', **SAS_INTERCONNECT)

        self.resource.data = sas_interconnect
        obj = mock.Mock()
        obj.data = SAS_INTERCONNECT
        self.resource.patch.return_value = obj
        self.mock_ansible_module.params = state_check.params

        SasInterconnectModule().run()

        self.resource.get_by_name.assert_called_once_with(
            SAS_INTERCONNECT_NAME)
        self.resource.patch.assert_called_once_with(**state_check.state)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=state_check.msg,
            ansible_facts=dict(sas_interconnect=sas_interconnect))