Esempio n. 1
0
    def test_should_add_multiple_servers(self):
        self.resource.get_by_name.return_value = None
        self.resource.get_all.return_value = [{'name': '172.18.6.16'}]
        self.resource.data = {'name': 'name'}

        self.resource.add_multiple_servers.return_value = self.resource

        self.mock_ansible_module.params = yaml.load(YAML_SERVER_HARDWARE_ADD_MULTIPLE_SERVERS)

        ServerHardwareModule().run()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=ServerHardwareModule.MSG_MULTIPLE_RACK_MOUNT_SERVERS_ADDED,
            ansible_facts=dict(server_hardware={"name": "name"})
        )
Esempio n. 2
0
    def test_should_do_nothing_when_scopes_are_the_same(self):
        params_to_scope = yaml.load(YAML_SERVER_HARDWARE_PRESENT).copy()
        params_to_scope['data']['scopeUris'] = ['/fake/test']
        get_results = params_to_scope['data'].copy()
        get_results['password'] = None
        self.mock_ansible_module.params = params_to_scope

        self.resource.data = get_results

        ServerHardwareModule().run()

        self.resource.patch.not_been_called()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False,
            ansible_facts=dict(server_hardware=get_results),
            msg=ServerHardwareModule.MSG_ALREADY_PRESENT)
Esempio n. 3
0
    def test_should_set_off_the_uid_state(self):
        server_hardware_uri = "resourceuri"

        self.resource.data = {"uri": server_hardware_uri, "uidState": "On"}

        self.mock_ansible_module.params = yaml.load(
            YAML_SERVER_HARDWARE_UID_STATE_OFF)

        ServerHardwareModule().run()

        patch_params = ServerHardwareModule.patch_params['uid_state_off']
        self.resource.patch.assert_called_once_with(**patch_params)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=ServerHardwareModule.MSG_UID_STATE_CHANGED,
            ansible_facts=dict(server_hardware=self.resource.data))
Esempio n. 4
0
    def test_should_reset_ilo_state(self):
        server_hardware_uri = "resourceuri"

        self.resource.data = {"uri": server_hardware_uri}

        self.mock_ansible_module.params = yaml.load(
            YAML_SERVER_HARDWARE_ILO_STATE_RESET)

        ServerHardwareModule().run()

        patch_params = ServerHardwareModule.patch_params['ilo_state_reset']
        self.resource.patch.assert_called_once_with(**patch_params)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=ServerHardwareModule.MSG_ILO_STATE_RESET,
            ansible_facts=dict(server_hardware=self.resource.data))
Esempio n. 5
0
    def test_should_set_one_time_boot_to_network(self):
        server_hardware_uri = "resourceuri"
        self.resource.data = {"uri": server_hardware_uri, "oneTimeBoot": "NORMAL"}
        self.resource.get_by_name.return_value = self.resource

        self.mock_ansible_module.params = yaml.load(YAML_SERVER_HARDWARE_ONE_TIME_BOOT_AS_NETWORK)

        ServerHardwareModule().run()

        patch_params = ServerHardwareModule.patch_params['one_time_boot_network']
        self.resource.patch.assert_called_once_with(**patch_params)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=ServerHardwareModule.MSG_ONE_TIME_BOOT_CHANGED,
            ansible_facts=dict(server_hardware=self.resource.data)
        )
Esempio n. 6
0
    def test_should_enable_maintenance_mode(self):
        server_hardware_uri = "resourceuri"
        self.resource.data = {"uri": server_hardware_uri, "maintenanceMode": "false"}
        self.resource.get_by_name.return_value = self.resource

        self.mock_ansible_module.params = yaml.load(YAML_SERVER_HARDWARE_ENABLE_MAINTENANCE_MODE)

        ServerHardwareModule().run()

        patch_params = ServerHardwareModule.patch_params['enable_maintenance_mode']
        self.resource.patch.assert_called_once_with(**patch_params)

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            msg=ServerHardwareModule.MSG_MAINTENANCE_MODE_CHANGED,
            ansible_facts=dict(server_hardware=self.resource.data)
        )
    def test_should_not_set_when_the_maintenance_mode_is_already_false(self):
        server_hardware_uri = "resourceuri"
        server_hardware = {
            "uri": server_hardware_uri,
            "maintenanceMode": "false"
        }

        self.resource.data = server_hardware

        self.mock_ansible_module.params = yaml.load(
            YAML_SERVER_HARDWARE_DISABLE_MAINTENANCE_MODE)

        ServerHardwareModule().run()

        self.resource.patch.assert_not_called()
        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False,
            msg=ServerHardwareModule.MSG_NOTHING_TO_DO,
            ansible_facts=dict(server_hardware=server_hardware))
Esempio n. 8
0
    def test_update_scopes_when_different(self):
        params_to_scope = yaml.load(YAML_SERVER_HARDWARE_PRESENT).copy()
        params_to_scope['data']['scopeUris'] = ['/fake/test']
        get_results = params_to_scope['data'].copy()
        get_results['password'] = None
        get_results['scopeUris'] = []
        get_results['uri'] = '/rest/server-hardware/fake'
        self.mock_ansible_module.params = params_to_scope

        self.resource.data = get_results
        obj = mock.Mock()
        obj.data = params_to_scope['data']
        self.resource.patch.return_value = obj

        ServerHardwareModule().run()

        self.resource.patch.assert_called_once_with(operation='replace',
                                                    path='/scopeUris',
                                                    value=['/fake/test'])

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            ansible_facts=dict(server_hardware=params_to_scope['data']),
            msg=ServerHardwareModule.MSG_UPDATED)