"""Test for commit_royalties_lambda_response_check task.""" from unittest.mock import patch import pytest from tasks.accounting_run_commit.commit_royalties_lambda_response_check import \ commit_royalties_lambda_response_check @patch('tasks.accounting_run_commit.commit_royalties_lambda_response_check.helpers') def test_commit_royalties_lambda_response_check_status_complete( mock_helpers, mock_commit_dag_run, mock_commit_royalties_event ): """Test commit_royalties_lambda_response_check task when state has complete status.""" # noqa: E501 account_run_id = mock_commit_royalties_event.get('target_id') mock_helpers.get_event_from_params.return_value.target_id = account_run_id mock_helpers.get_abacus_state.return_value.action_status = 'complete' res = commit_royalties_lambda_response_check(mock_commit_dag_run) assert res is True mock_helpers.get_event_from_params.assert_called_once_with( mock_commit_dag_run ) mock_helpers.get_abacus_state.assert_called_once_with( account_run_id ) @patch('tasks.accounting_run_commit.commit_royalties_lambda_response_check.helpers') def test_commit_royalties_lambda_response_check_status_running( mock_helpers, mock_commit_dag_run, mock_commit_royalties_event ): """Test commit_royalties_lambda_response_check task when state has running status.""" # noqa: E501 account_run_id = mock_commit_royalties_event.get('target_id') mock_helpers.get_event_from_params.return_value.target_id = account_run_id mock_helpers.get_abacus_state.return_value.action_status = 'running' res = commit_royalties_lambda_response_check(mock_commit_dag_run) assert res is False mock_helpers.get_event_from_params.assert_called_once_with( mock_commit_dag_run ) mock_helpers.get_abacus_state.assert_called_once_with( account_run_id ) @patch('tasks.accounting_run_commit.commit_royalties_lambda_response_check.helpers') def test_commit_royalties_lambda_response_check_status_error( mock_helpers, mock_commit_dag_run, mock_commit_royalties_event ): """Test commit_royalties_lambda_response_check task when state has error status.""" # noqa: E501 account_run_id = mock_commit_royalties_event.get('target_id') mock_helpers.get_event_from_params.return_value.target_id = account_run_id mock_helpers.get_abacus_state.return_value.action_status = 'error' with pytest.raises(Exception): commit_royalties_lambda_response_check(mock_commit_dag_run) mock_helpers.get_event_from_params.assert_called_once_with( mock_commit_dag_run ) mock_helpers.get_abacus_state.assert_called_once_with( account_run_id )