"""Integration tests for GET /vendor/{vendor_id}/master-contact endpoint.""" from typing import Any import pytest import requests from tests.integration import config EXPECTED_MASTER_CONTACT = {'identity_id': '6943a96e-0e15-41f2-a31b-fb9e2cabea41'} @pytest.mark.parametrize( 'token_fixture, vendor_id, expected_status, expected_master_contact', [ pytest.param('bearer_token_account360_user', '74051', 200, EXPECTED_MASTER_CONTACT), pytest.param('bearer_token_account360_user', '6971', 403, None), pytest.param(None, '6971', 403, None), ], ) def test_get_master_contact( token_fixture: str, vendor_id: str, expected_status: int, expected_master_contact: dict[str,], request: Any, ) -> None: """GET /vendor/{vendor_id}/master-contact.""" full_headers = {'Orchard-Requestor-Service': 'graphql-account-test'} # Add Authorization header if provided in the parameters. bearer_token = request.getfixturevalue(token_fixture) if token_fixture else None if bearer_token: full_headers['Authorization'] = f'Bearer {bearer_token}' response = requests.get( f'{config.QA_BASE_URL}/vendor/{vendor_id}/master-contact', headers=full_headers, ) assert response.status_code == expected_status if expected_status == 200: assert response.json() == expected_master_contact