def stub_url_options_for_cors(mock_url): mapping = Mapping(priority=100, request=MappingRequest(method=HttpMethods.OPTIONS, url=mock_url), response=MappingResponse( status=200, headers={ 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Methods': "GET, POST" }, body=''), persistent=False) Mappings.create_mapping(mapping)
def stub_payment_status(mock_url, mock_json): mapping = Mapping(priority=100, request=MappingRequest(method=HttpMethods.GET, url=mock_url), response=MappingResponse( status=200, headers={ 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Methods': "GET, POST" }, json_body=get_mock_response_from_json(mock_json)), persistent=False) Mappings.create_mapping(mapping)
def response(status: int, status_message: str): Mappings.create_mapping(mapping=Mapping( priority=100, request=MappingRequest( method=HttpMethods.POST, url='/api/v2/logs/ingest', headers={'Authorization': {'equalTo': "Api-Token {}".format(ACCESS_KEY)}}, ), response=MappingResponse( status=status, status_message=status_message ), persistent=False ))
def stub_config(config_json): mapping = Mapping(priority=100, request=MappingRequest( method=HttpMethods.GET, url=MockUrl.CONFIG_MOCK_URI.value), response=MappingResponse( status=200, headers={ 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Methods': "GET, POST" }, json_body=get_mock_response_from_json(config_json)), persistent=False) Mappings.create_mapping(mapping)
def stub_st_request_type_server_error(mock_json, request_type): stub_url_options_for_cors(MockUrl.GATEWAY_MOCK_URI.value) configure_for_local_host() mapping = Mapping(priority=100, request=MappingRequest( method=HttpMethods.POST, url=MockUrl.GATEWAY_MOCK_URI.value, body_patterns=[{ "contains": request_type }]), response=MappingResponse( status=500, headers={ 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Methods': "GET, POST" }, json_body=get_mock_response_from_json(mock_json)), persistent=False) Mappings.create_mapping(mapping)
def test_labs(app_fixture): login_response = requests.post(app_fixture.base_url + '/api/auth/login', json={ 'username': '******', 'password': '******', }) assert login_response.ok requests.post(app_fixture.base_url + '/api/workers', json={ 'worker_id': 'TEST_ONE', 'host': 'localhost', 'port': app_fixture.wiremock_server.port, 'state': 1 }) requests.post(app_fixture.base_url + '/api/workers', json={ 'worker_id': 'TEST_TWO', 'host': 'localhost', 'port': 7601, 'state': 2 }) post_response = requests.post( app_fixture.base_url + '/api/labs', json={ 'lab_name': 'First lab', 'lab_type': 'Kathara', 'start_date': '2020-04-06T14:00:00.000Z', 'expiration_date': '2020-04-08T14:00:00.000Z', 'description': 'description', 'machines': ['m1', 'm2'] }, headers={ 'Authorization': 'Bearer {}'.format(login_response.json()['token']) }) assert post_response.ok lab_id = post_response.json() Config.base_url = 'http://localhost:{}/__admin'.format( app_fixture.wiremock_server.port) mapping = Mapping( priority=100, request=MappingRequest(method=HttpMethods.GET, url_path='/labs/status', query_parameters={'lab_ids': { 'matches': '.*' }}), response=MappingResponse(status=200, body=json.dumps([{ 'lab_id': lab_id, 'status': 'running' }])), persistent=True, ) Mappings.create_mapping(mapping=mapping) response = requests.get(app_fixture.base_url + '/api/labs', headers={ 'Authorization': 'Bearer {}'.format( login_response.json()['token']) }) assert response.ok body = response.json() assert len(body) == 1 assert body[0]['id'] == lab_id assert body[0]['status'] == 'running'
def cleanup(): Mappings.delete_all_mappings() Requests.reset_request_journal()