"""Adjustment file upload config endpoints.""" import pytest from royalties.tests.integration.conftest import ows_royalties_api_client def test_crud_upload_config(basic_headers, clear_db_file_upload): """Test GET/POST/PUT/DELETE /file-upload-config endpoints .""" ows_royalties_client = ows_royalties_api_client(basic_headers) # post new config post_body = { 's3_key_template': 'uploads/{year}/{month}/{file_key}.{ext}', 'upload_type': 'flowthrough', 'description': 'integration tests configuration', } res_post = ows_royalties_client.post_file_upload_config(post_body) assert res_post.status_code == 201 file_upload_config_id = res_post.json()['file_upload_config_id'] # get all res_get = ows_royalties_client.get_file_upload_configs() assert res_get.status_code == 200 assert len(res_get.json()) == 1 assert res_get.json()[0]['description'] == post_body['description'] # get by id res_get = ows_royalties_client.get_file_upload_config_by_id(file_upload_config_id) assert res_get.status_code == 200 assert res_get.json()['description'] == post_body['description'] # put by id put_body = {'description': 'integration tests configuration update'} res_put = ows_royalties_client.put_file_upload_config_by_id( file_upload_config_id, put_body ) assert res_put.status_code == 200 res_get = ows_royalties_client.get_file_upload_config_by_id(file_upload_config_id) assert res_get.status_code == 200 assert res_get.json()['description'] == put_body['description'] # delete by id res_delete = ows_royalties_client.delete_file_upload_config_by_id( file_upload_config_id ) assert res_delete.status_code == 204 res_get = ows_royalties_client.get_file_upload_config_by_id(file_upload_config_id) assert res_get.status_code == 404 res_get = ows_royalties_client.get_file_upload_configs() assert res_get.status_code == 200 assert len(res_get.json()) == 0