Beispiel #1
0
def test_get_from_film_world_movies_api(requests_mock):
    response_data = {
        "Movies": [{
            "Title": "Star Wars: Episode IV - A New Hope",
            "ID": "fw0076759"
        }, {
            "Title": "Star Wars: Episode V - The Empire Strikes Back",
            "ID": "fw0080684",
        }]
    }
    url = urljoin(get_service_base_url(), get_film_world_movies_endpoint())
    requests_mock.get(url, status_code=200, json=response_data)
    film_world_movies = get_film_world_movies()
    assert film_world_movies == response_data
Beispiel #2
0
def test_requests_for_successful_response_from_external_api(requests_mock):
    expected_response_data = {
        "Movies": [{
            "Title": "Star Wars: Episode IV - A New Hope",
            "ID": "cw0076759"
        }, {
            "Title": "Star Wars: Episode V - The Empire Strikes Back",
            "ID": "cw0080684",
        }]
    }
    url = urljoin(get_service_base_url(), get_cinema_world_movies_endpoint())
    requests_mock.get(url=url, status_code=200, json=expected_response_data)
    response_data = requests_with_retry(url=url, headers={})
    assert response_data == expected_response_data
Beispiel #3
0
def test_get_from_cinema_world_movies_details_api(requests_mock):
    cinema_world_movies_data = {
        "Movies": [{
            "Title": "Star Wars: Episode IV - A New Hope",
            "ID": "cw0076759"
        }]
    }
    service_response_data = {
        "Title": "Star Wars: Episode IV - A New Hope",
        "Price": "123.5"
    }
    expected_data = [{
        "title": "Star Wars: Episode IV - A New Hope",
        "cinemaWorldPrice": "123.5"
    }]

    url = urljoin(get_service_base_url(),
                  get_cinema_world_movies_details_endpoint())
    requests_mock.get(url.format(movie_id='cw0076759'),
                      status_code=200,
                      json=service_response_data)
    cinema_world_movies_details = get_cinema_world_movies_details(
        cinema_world_movies_data)
    assert cinema_world_movies_details == expected_data
Beispiel #4
0
def test_requests_for_request_exception_from_external_api(requests_mock):
    url = urljoin(get_service_base_url(), get_cinema_world_movies_endpoint())
    requests_mock.get(url=url, exc=requests.exceptions.RequestException)
    response_data = requests_with_retry(url=url, headers={})
    assert response_data is None
Beispiel #5
0
def test_requests_for_invalid_json_response_from_external_api(requests_mock):
    expected_response_data = None
    url = urljoin(get_service_base_url(), get_cinema_world_movies_endpoint())
    requests_mock.get(url=url, status_code=200, json=expected_response_data)
    response_data = requests_with_retry(url=url, headers={})
    assert response_data == expected_response_data
Beispiel #6
0
def test_requests_for_unsuccessful_response_from_external_api(
        requests_mock, unsuccessful_status_code):
    url = urljoin(get_service_base_url(), get_cinema_world_movies_endpoint())
    requests_mock.get(url=url, status_code=unsuccessful_status_code)
    response_data = requests_with_retry(url=url, headers={})
    assert response_data is None