import requests from tests.integration import config from tests.integration.utils import convert_to_grass_headers vendor = { 'email': 'ows-account-integration-test@theorchard.com', 'service_tier_uuid': '2304f272-7a12-40fc-ba48-959fff435223', 'source': 'integration tests', 'company_brand': 'foundation', 'vendor_name': 'ows-account integration-test', } created_vendor = { 'is_distributor': 'N', 'owner': None, 'name': 'ows-account integration-test', 'company': 'ows-account integration-test', 'company_brand_id': 11, 'country_id': None, 'status': 'signed', 'label_identifier': None, 'contact_email': 'ows-account-integration-test@theorchard.com', 'assigned_to': None, 'assigned_reviewer': None, 'quarterback_label_manager': None, 'country': None, 'source': 'integration tests', 'service_tier_uuid': '2304f272-7a12-40fc-ba48-959fff435223', 'migrated_to_abacus': False, } def test_create_and_fetch_vendor() -> None: """PATCH /vendor and GET /vendor/{vendor_id}""" headers = convert_to_grass_headers( identity_id='cabc0fe4-0cbf-4ce1-b750-130f22bcd8d7', profile_type='SettingsProfile', profile_id=71799, ) response = requests.patch( '{qa_base_url}/vendor'.format(qa_base_url=config.QA_BASE_URL), json=vendor, headers=headers ) assert response.status_code == 200 vendor_data = response.json() assert all(item in vendor_data.items() for item in created_vendor.items()) assert 'service_tier' in vendor_data assert vendor_data['service_tier']['uuid'] == vendor['service_tier_uuid'] response = requests.get( '{qa_base_url}/vendor/{vendor_id}'.format( qa_base_url=config.QA_BASE_URL, vendor_id=vendor_data['vendor_id'] ), headers=headers, ) assert response.status_code == 200 def test_create_vendor_with_closer_id() -> None: """PATCH /vendor with closer_id and POST /vendors/closers/dataloader to verify.""" vendor_with_closer = { 'email': 'ows-account-closer-test@theorchard.com', 'service_tier_uuid': '2304f272-7a12-40fc-ba48-959fff435223', 'source': 'integration tests', 'company_brand': 'awal', 'vendor_name': 'ows-account closer-test', 'closer_id': 2912, } create_headers = convert_to_grass_headers( identity_id='cabc0fe4-0cbf-4ce1-b750-130f22bcd8d7', profile_type='SettingsProfile', profile_id=71799, ) response = requests.patch( f'{config.QA_BASE_URL}/vendor', json=vendor_with_closer, headers=create_headers, ) assert response.status_code == 200 vendor_data = response.json() vendor_uuid = vendor_data['vendor_uuid'] dataloader_headers = convert_to_grass_headers( # ows-account-integration-test@sonymusic-pde.com, who has an OA profile identity_id='40210960-c0e6-47c7-bb49-71f2373260dd', profile_type='OrchAdminProfile', profile_id=95101924951, ) response = requests.post( f'{config.QA_BASE_URL}/vendors/closers/dataloader', json={'vendor_uuids': [vendor_uuid]}, headers=dataloader_headers, ) assert response.status_code == 200 closers_data = response.json() assert len(closers_data) == 1 assert closers_data[0]['uuid'] == vendor_uuid assert closers_data[0]['closers'] == [2912]