def test_should_remove_san_manager(self): self.resource.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE self.mock_ansible_module.params = self.PARAMS_FOR_ABSENT SanManagerModule().run() self.mock_ansible_module.exit_json.assert_called_once_with( changed=True, msg=SAN_MANAGER_DELETED)
def test_should_do_nothing_when_san_manager_not_exist(self): self.resource.get_by_provider_display_name.return_value = None self.mock_ansible_module.params = self.PARAMS_FOR_ABSENT SanManagerModule().run() self.mock_ansible_module.exit_json.assert_called_once_with( changed=False, msg=SAN_MANAGER_ALREADY_ABSENT)
def test_should_fail_when_provider_display_name_not_found(self): self.resource.get_by_provider_display_name.return_value = None self.resource.get_provider_uri.return_value = None self.mock_ansible_module.params = self.PARAMS_FOR_PRESENT SanManagerModule().run() self.mock_ansible_module.fail_json.assert_called_once_with( msg="The provider 'Brocade Network Advisor' was not found.")
def test_should_not_update_when_data_is_equals(self): self.resource.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE self.mock_ansible_module.params = self.PARAMS_FOR_PRESENT SanManagerModule().run() self.mock_ansible_module.exit_json.assert_called_once_with( changed=False, msg=SAN_MANAGER_ALREADY_EXIST, ansible_facts=dict(san_manager=DEFAULT_SAN_MANAGER_TEMPLATE))
def test_should_load_config_from_file(self, mock_ansible_module, mock_ov_client_from_env_vars, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock({'config': 'config.json'}) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule() mock_ov_client_from_json_file.assert_called_once_with('config.json') mock_ov_client_from_env_vars.not_been_called()
def test_should_add_new_san_manager(self): self.resource.get_by_provider_display_name.return_value = None self.resource.get_provider_uri.return_value = '/rest/fc-sans/providers/123/device-managers' self.resource.add.return_value = DEFAULT_SAN_MANAGER_TEMPLATE self.mock_ansible_module.params = self.PARAMS_FOR_PRESENT SanManagerModule().run() self.mock_ansible_module.exit_json.assert_called_once_with( changed=True, msg=SAN_MANAGER_CREATED, ansible_facts=dict(san_manager=DEFAULT_SAN_MANAGER_TEMPLATE))
def test_should_find_provider_uri_to_add(self): self.resource.get_by_provider_display_name.return_value = None self.resource.get_provider_uri.return_value = '/rest/fc-sans/providers/123/device-managers' self.resource.add.return_value = DEFAULT_SAN_MANAGER_TEMPLATE self.mock_ansible_module.params = self.PARAMS_FOR_PRESENT SanManagerModule().run() provider_display_name = DEFAULT_SAN_MANAGER_TEMPLATE[ 'providerDisplayName'] self.resource.get_provider_uri.assert_called_once_with( provider_display_name)
def test_should_do_nothing_when_san_manager_not_exist( self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = None mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_ABSENT) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule().run() mock_ansible_instance.exit_json.assert_called_once_with( changed=False, msg=SAN_MANAGER_ALREADY_ABSENT)
def test_should_remove_san_manager(self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_ABSENT) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule().run() mock_ansible_instance.exit_json.assert_called_once_with( changed=True, msg=SAN_MANAGER_DELETED)
def test_should_fail_when_add_raises_exception( self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = None mock_ov_instance.san_managers.add.side_effect = Exception( FAKE_MSG_ERROR) mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_PRESENT) mock_ansible_module.return_value = mock_ansible_instance self.assertRaises(Exception, SanManagerModule().run()) mock_ansible_instance.fail_json.assert_called_once_with( msg=FAKE_MSG_ERROR)
def test_update_when_data_has_modified_attributes(self): data_merged = DEFAULT_SAN_MANAGER_TEMPLATE.copy() data_merged['fabricType'] = 'DirectAttach' self.resource.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE self.resource.update.return_value = data_merged self.mock_ansible_module.params = self.PARAMS_WITH_CHANGES SanManagerModule().run() self.mock_ansible_module.exit_json.assert_called_once_with( changed=True, msg=SAN_MANAGER_UPDATED, ansible_facts=dict(san_manager=data_merged))
def test_should_fail_when_update_raises_exception( self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE mock_ov_instance.san_managers.update.side_effect = Exception( FAKE_MSG_ERROR) mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_WITH_CHANGES) mock_ansible_module.return_value = mock_ansible_instance self.assertRaises(Exception, SanManagerModule().run()) mock_ansible_instance.fail_json.assert_called_once_with( msg=FAKE_MSG_ERROR)
def test_should_not_update_when_data_is_equals( self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_PRESENT) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule().run() mock_ansible_instance.exit_json.assert_called_once_with( changed=False, msg=SAN_MANAGER_ALREADY_EXIST, ansible_facts=dict(san_manager=DEFAULT_SAN_MANAGER_TEMPLATE))
def test_should_find_provider_uri_to_add(self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = None mock_ov_instance.san_managers.get_provider_uri.return_value = '/rest/fc-sans/providers/123/device-managers' mock_ov_instance.san_managers.add.return_value = DEFAULT_SAN_MANAGER_TEMPLATE mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_PRESENT) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule().run() provider_display_name = DEFAULT_SAN_MANAGER_TEMPLATE[ 'providerDisplayName'] mock_ov_instance.san_managers.get_provider_uri.assert_called_once_with( provider_display_name)
def test_should_add_new_san_manager(self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = None mock_ov_instance.san_managers.get_provider_uri.return_value = '/rest/fc-sans/providers/123/device-managers' mock_ov_instance.san_managers.add.return_value = DEFAULT_SAN_MANAGER_TEMPLATE mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_PRESENT) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule().run() mock_ansible_instance.exit_json.assert_called_once_with( changed=True, msg=SAN_MANAGER_CREATED, ansible_facts=dict(san_manager=DEFAULT_SAN_MANAGER_TEMPLATE))
def test_should_fail_when_remove_raises_exception( self, mock_ansible_module, mock_ov_client_from_json_file): mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by.return_value = [ DEFAULT_SAN_MANAGER_TEMPLATE ] mock_ov_instance.san_managers.remove.side_effect = Exception( FAKE_MSG_ERROR) mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_FOR_ABSENT) mock_ansible_module.return_value = mock_ansible_instance self.assertRaises(Exception, SanManagerModule().run()) mock_ansible_instance.fail_json.assert_called_once_with( msg=FAKE_MSG_ERROR)
def test_update_when_data_has_modified_attributes( self, mock_ansible_module, mock_ov_client_from_json_file): data_merged = DEFAULT_SAN_MANAGER_TEMPLATE.copy() data_merged['fabricType'] = 'DirectAttach' mock_ov_instance = mock.Mock() mock_ov_instance.san_managers.get_by_provider_display_name.return_value = DEFAULT_SAN_MANAGER_TEMPLATE mock_ov_instance.san_managers.update.return_value = data_merged mock_ov_client_from_json_file.return_value = mock_ov_instance mock_ansible_instance = create_ansible_mock(PARAMS_WITH_CHANGES) mock_ansible_module.return_value = mock_ansible_instance SanManagerModule().run() mock_ansible_instance.exit_json.assert_called_once_with( changed=True, msg=SAN_MANAGER_UPDATED, ansible_facts=dict(san_manager=data_merged))