def test_search_pypi_package_not_found(): """When package name is not found on PyPI, exception `PackageNotFound` should be raised.""" package_name = "pypi-search-fake-package" with pytest.raises(errors.PackageNotFound) as e: search.search_by_name(package_name)
def test_search_by_package_name_doesnt_exist(not_found_case): """If a package doesn't exist, `PackageNotFound` should be raised.""" httpretty.enable() httpretty.register_uri(httpretty.GET, not_found_case["url"], status=not_found_case["status"] ) with pytest.raises(errors.PackageNotFound) as e: search.search_by_name(not_found_case["package_name"])
def test_search_by_package_name_that_exists(success_case): """If a package exists, JSON should return.""" httpretty.enable() httpretty.register_uri(httpretty.GET, success_case["url"], body=success_case["response_s"], status=success_case["status"] ) test_response = search.search_by_name(success_case["package_name"]) assert_success_case(success_case, test_response)
def test_search_pypi_search_sample_returns_data(success_case): """ Expect to get JSON response back from PyPI on pypi-search-sample package. """ package_name = "pypi-search-sample" response = search.search_by_name(package_name) # Reset "downloads" from comparison (see issue #18) for tag, release in response["releases"].items(): release[0]["downloads"] = 0 for url in response["urls"]: url["downloads"] = 0 assert response == success_case