"""Tests for post_action schemas module.""" import pytest from conflict_manager.constants import schema as schema_consts from conflict_manager.schemas.handlers import post_action post_action_payloads = [ ({ 'territory_standard': 'ISO_3166_2106', 'isrc': 'TL1234567890', 'tuid': 123, 'conflicting_owner': 'Def Jam', 'conflict_date': '2017-11-02', 'release_action': { 'conflict_ids': [1, 2], 'reason': 'test', 'additional_information': 'test' }, 'assert_action': { 'conflict_ids': [3, 4], 'reason': 'test', 'additional_information': 'test' } }), ({ 'territory_standard': 'ISO_3166_2106', 'isrc': 'TL1234567890', 'tuid': 123, 'conflicting_owner': 'Def Jam', 'conflict_date': '2017-11-02', 'assert_action': { 'conflict_ids': [3, 4], 'reason': 'test', 'additional_information': 'test' } }), ({ 'territory_standard': 'ISO_3166_2106', 'isrc': 'TL1234567890', 'tuid': 123, 'conflicting_owner': 'Def Jam', 'conflict_date': '2017-11-02', 'release_action': { 'conflict_ids': [1, 2], 'reason': 'test', 'additional_information': 'test' } }) ] @pytest.fixture def post_action_schema(): """POST /action payload validation schema.""" return post_action.PostActionPayloadSchema() @pytest.fixture def post_bulk_action_schema(): """POST /action payload validation schema.""" return post_action.BulkPostActionPayloadSchema() @pytest.mark.parametrize('post_action_payload', post_action_payloads) def test_post_action_schema_success(post_action_schema, post_action_payload): """Expect valid payload dict.""" result = post_action_schema.load(post_action_payload) assert result == post_action_payload def test_bulk_post_action_schema_success(post_bulk_action_schema): """Expect valid bulk payload dict.""" bulk_post_action_payloads = { schema_consts.ACTIONS: post_action_payloads} result = post_bulk_action_schema.load(bulk_post_action_payloads) assert result == bulk_post_action_payloads