"""Integration tests for /accounting-run(s) endpoints and logic.""" import pytest from core.app_factory import db from royalties.constants import constants from royalties.tests.integration.conftest import ( create_accounting_period_if_not_exist, ows_royalties_api_client, ) @pytest.mark.jira('ACC-1891') def test_get_accounting_run(basic_headers, statement_period_fixtures): """GET /accounting-run/{accounting_run_id} .""" accounting_run_id = 1 accounting_run_status = constants.ACCOUNTING_RUN_STATUSES.NO_ACTION_TAKEN ows_royalties_client = ows_royalties_api_client(basic_headers) acc_period_name = create_accounting_period_if_not_exist( basic_headers, statement_period_fixtures )['accounting_period']['accounting_period_name'] query = """ INSERT INTO accounting_run (accounting_run_id, accounting_period_id, run_controller_id, run_status, start_date, summary_export_url, created_by, created_at, last_modified_by, last_modified) VALUES ({}, 1, 1, '{}', null, null, '123', '2020-11-13 02:54:04', '123', '2020-11-13 02:54:07'); """.format(accounting_run_id, accounting_run_status) db.engine.execute(query) res_get = ows_royalties_client.get_accounting_run(accounting_run_id) assert res_get.status_code == 200 assert res_get.json()['accounting_run_status'] == accounting_run_status assert res_get.json()['accounting_period_name'] == acc_period_name assert res_get.json()['accounting_run_id'] == accounting_run_id assert res_get.json()['accounting_run_id'] == accounting_run_id @pytest.mark.jira('ACC-1891') def test_put_accounting_run(basic_headers, statement_period_fixtures): """PUT /accounting-run/{accounting_run_id} .""" accounting_run_id = 1 accounting_run_status = constants.ACCOUNTING_RUN_STATUSES.NO_ACTION_TAKEN ows_royalties_client = ows_royalties_api_client(basic_headers) create_accounting_period_if_not_exist(basic_headers, statement_period_fixtures) query = """ INSERT INTO accounting_run (accounting_run_id, accounting_period_id, run_controller_id, run_status, start_date, summary_export_url, created_by, created_at, last_modified_by, last_modified) VALUES ({}, 1, 1, '{}', null, null, '123', '2020-11-13 02:54:04', '123', '2020-11-13 02:54:07'); """.format(accounting_run_id, accounting_run_status) db.engine.execute(query) put_status = constants.ACCOUNTING_RUN_STATUSES.WAITING_TO_RUN body = {'accounting_run_status': put_status} res_put = ows_royalties_client.put_accounting_run(accounting_run_id, body) assert res_put.status_code == 200 assert res_put.json()[0]['accounting_run_status'] == put_status res_get = ows_royalties_client.get_accounting_run(accounting_run_id) assert res_get.status_code == 200 assert res_get.json()['accounting_run_status'] == put_status