def step_impl(context):
    sort_input = [
        {
            "description": "asc"
        }
    ]
    context.sort_response = requests.get(f"{context.base_url}/boards/?sort={json.dumps(sort_input)}",
                                         headers=context.headers)
    log_response(context.sort_response, context)
    context.actual_result = context.sort_response.json()
예제 #2
0
def step_impl(context, is_created):
    """
    verifies success and failure cases defined as two different scenarios in auth.feature
    """
    json = context.response.json()
    log_response(context.response, context)

    if is_created == "succeeds":
        assert context.response.status_code == HTTPStatus.CREATED
        assert json['id'] > 0
        assert json['username'] == context.user['username']

        context.response = json

    elif is_created == "fails":
        assert context.response.status_code == HTTPStatus.CONFLICT
        assert json['statusCode'] == HTTPStatus.CONFLICT
        assert f"username {context.user['username']} already exists" in json['errors']
예제 #3
0
def step_impl(context, is_created):
    """
    verifies the created board
    """
    context.json = context.response.json()
    log_response(context.response, context)

    if is_created == "succeeds":
        assert context.response.status_code == HTTPStatus.CREATED
        assert context.json['id'] > 0
        assert context.json['description'] is None
        assert context.json['title'] == payload['title']
        assert to_epoch(context.json['createdAt']) - to_epoch(
            context.json['updatedAt']) <= created_at_buffer

    elif is_created == "fails":
        assert context.response.status_code == HTTPStatus.BAD_REQUEST
        assert 'title should not be empty' in context.response.json()['errors']
예제 #4
0
def step_impl(context):
    """
    attempts to sign in with previously created user
    verifies JWT
    """
    response = requests.post(f"{context.base_url}/auth/signin", json=context.user)
    json = response.json()
    log_response(response, context)

    assert response.status_code == HTTPStatus.OK

    jwt_payload = jwt.decode(json['token'], options={'verify_signature': False})
    assert jwt_payload['id'] == context.response['id']
    assert jwt_payload['username'] == context.response['username']

    current_time = int(time.time())
    assert current_time >= jwt_payload['iat'] >= current_time - jwt_buffer

    expected_exp = jwt_payload['iat'] + num_seconds()
    assert jwt_payload['exp'] == expected_exp
예제 #5
0
def step_impl(context):
    context.title = 'eight'
    context.response = requests.get(f"{context.base_url}/boards?search={context.title}", headers=context.headers)
    log_response(context.response, context)
def step_impl(context):
    context.response = requests.get(f"{context.base_url}/boards",
                                    headers=context.headers)
    log_response(context.response, context)
def step_impl(context):
    context.search_response = requests.get(f"{context.base_url}/boards/?skip={skip}&limit={limit}",
                                           headers=context.headers)
    log_response(context.search_response, context)
    context.json_response = context.search_response.json()
def step_impl(context):
    response = requests.post(f"{context.base_url}/auth/signin", json=user_cred)
    log_response(response, context)
    assert response.status_code == HTTPStatus.UNAUTHORIZED
    assert 'Unauthorized' in response.json()['errors']