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)
Пример #3
0
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'
Пример #7
0
def cleanup():
    Mappings.delete_all_mappings()
    Requests.reset_request_journal()