Esempio n. 1
0
def step_impl(context, verb):
    book_uuid =  context.book_entity['id']
    genre_uuid = context.genre_entity['id']
    book_genre_entity = generate_example_book_genre(
        book_uuid=book_uuid, genre_uuid=genre_uuid,
    )
    context.book_genre_uuid = book_genre_uuid = book_genre_entity['id']
    if verb.lower() == 'put':
        response = make_request(client=context.client, endpoint=f'book-genre/{book_genre_uuid}',
                                method=verb, data=book_genre_entity)
    elif verb.lower() == 'post':
        response = make_request(client=context.client, endpoint=f'book-genre',
                                method=verb, data=book_genre_entity)
    assert_that(response.status_code, equal_to(201))
Esempio n. 2
0
def step_impl(context, author_name, relationship):
    related_author = generate_example_author()
    setattr(context, author_name, related_author)
    response = make_request(
        client=context.client, endpoint=f'author/{related_author["id"]}',
        method='put', data=related_author)
    assert_that(response.status_code, equal_to(201))

    context.author_entity[relationship] = related_author['id']
    author = context.author_entity
    response = make_request(
        client=context.client, endpoint=f'author/{author["id"]}',
        method='put', data=author)
    assert_that(response.status_code, equal_to(201))
Esempio n. 3
0
def step_impl(context, url: str):
    url = url.replace('{id}', context.book_entity['id'])
    response = make_request(client=context.client, endpoint=url, method='get')
    assert_that(response.status_code, equal_to(200))
    data = json.loads(response.data)
    author = data["author"]
    assert_that(author["books"][0]["id"], equal_to(context.book_entity["id"]))
Esempio n. 4
0
def step_impl(context, entity_type: str, parameters: str):
    context.response = make_request(
        client=context.client,
        endpoint=entity_type,
        method='get',
        parameters=parameters,
    )
Esempio n. 5
0
def step_impl(context, url: str):
    url = url.replace('{id}', context.book_entity['id'])
    response = make_request(client=context.client, endpoint=url, method='get')
    assert_that(response.status_code, equal_to(200))
    data = json.loads(response.data)
    genre = data['genre']
    assert_that(genre['id'], equal_to(context.genre_entity['id']))
Esempio n. 6
0
def step_impl(context):
    book = context.book_entity
    url = f'/book/{book["id"]}'
    response = make_request(client=context.client, endpoint=url, method='get')
    assert_that(response.status_code, equal_to(200))
    data = json.loads(response.data)
    context.retrieved_book = data
Esempio n. 7
0
def step_impl(context, entity_name, prop, value):
    existing_entity = getattr(context, f'{entity_name}_entity')
    response = make_request(client=context.client, endpoint=f'{entity_name}/{existing_entity["id"]}',
                            method='get')
    assert_that(response.status_code, equal_to(200))
    data = response.json
    assert_that(data[prop], equal_to(value))
Esempio n. 8
0
def step_impl(context):
    book_genre_entity = generate_example_book_genre(
        book_uuid=str(uuid.uuid4()), genre_uuid=str(uuid.uuid4()),
    )
    context.book_genre_uuid = book_genre_uuid = book_genre_entity['id']
    response = make_request(client=context.client, endpoint=f'book-genre/{book_genre_uuid}',
                            method='put', data=book_genre_entity)
    context.response = response
Esempio n. 9
0
def step_impl(context, entity_name, prop, value):
    existing_entity_id = getattr(context, f'{entity_name}_entity')['id']
    data = {prop: value}
    response = make_request(client=context.client,
                            endpoint=f'{entity_name}/{existing_entity_id}',
                            method='patch',
                            data=data)
    assert_that(response.status_code, equal_to(200))
def step_impl(context, operations_list: str, endpoint: str, status: int):
    for operation in operations_list.split(','):
        response = make_request(
            client=context.client,
            endpoint=endpoint,
            method=operation,
        )
        assert_that(response.status_code, equal_to(int(status)), f'{operation}')
Esempio n. 11
0
def step_impl(context):
    context.book_entity['collaboratorId'] = context.author_entity['id']
    book = context.book_entity
    response = make_request(client=context.client,
                            endpoint=f'book/{book["id"]}',
                            method='put',
                            data=book)
    assert_that(response.status_code, equal_to(201))
Esempio n. 12
0
def step_impl(context, entity_name: str, entity_id: str):
    patch_id = getattr(context, f'{entity_id}_entity')['id']
    existing_entity_id = getattr(context, f'{entity_name}_entity')['id']
    data = {
        f"{entity_id}Id": patch_id,
    }
    response = make_request(client=context.client, endpoint=f'{entity_name}/{existing_entity_id}',
                            method='patch', data=data)
    assert_that(response.status_code, equal_to(200))
Esempio n. 13
0
def step_impl(context):
    book = generate_example_book()
    context.book_entity = book = {
        **book,
        **{'authorId': context.author_entity['id']}
    }
    response = make_request(client=context.client, endpoint=f'book/{book["id"]}',
                            method='put', data=book)
    assert_that(response.status_code, equal_to(201))
Esempio n. 14
0
def step_impl(context, url: str):
    url = url.replace('{id}', context.author_entity['id'])
    response = make_request(client=context.client, endpoint=url, method='get')
    assert_that(response.status_code, equal_to(200))
    data = response.json
    existing_book = getattr(context, 'book_entity')
    for book in data['books']:
        if existing_book['id'] == book['id']:
            return
    raise Exception(f'Book with id {existing_book["id"]} not found')
Esempio n. 15
0
def _put_entity(context, entity_type: str, entity_name: str, extras: Mapping[str, str]):
    entity = example_entity_generators[entity_type]()
    entity_id = entity['id']
    entity.update(extras)
    setattr(context, entity_name, entity)
    response = make_request(
        client=context.client, endpoint=f'{entity_type}/{entity_id}',
        method='put', data=entity,
    )
    assert_that(response.status_code, equal_to(201))
Esempio n. 16
0
def step_impl(context: Any, method: str, path: str, parameters: str):
    context.response = make_request(context.client, path, method, parameters)
Esempio n. 17
0
def _i_can_get_entity(context, path: str):
    context.response = response = make_request(context.client, path, 'get')
    assert_that(response.status_code, equal_to(200))
Esempio n. 18
0
def step_impl(context, path: str):
    assert_that(
        make_request(context.client, path, 'get').status_code, equal_to(404))
Esempio n. 19
0
def step_impl(context, method: str, path: str):
    context.response = make_request(context.client, path, method)
Esempio n. 20
0
def step_impl(context: Any, method: str, path: str):
    data = context.data
    context.response = make_request(context.client, path, method, data=data)