client = <django.test.client.Client object at 0x7f45e4f064e0>
staff_user = <User: admin>
archive_data = <swh.web.tests.conftest._ArchiveData object at 0x7f45e4f067b8>
directory_with_files = '21b22ceb3d68b8981ccbfbbefaf70f6912d340e5'
staff_user_logged_in = True
@pytest.mark.django_db
@pytest.mark.parametrize("staff_user_logged_in", [False, True])
def test_browse_content_snapshot_context_release_directory_target(
client, staff_user, archive_data, directory_with_files, staff_user_logged_in
):
if staff_user_logged_in:
client.force_login(staff_user)
release_name = "v1.0.0"
release = Release(
name=release_name.encode(),
message=f"release {release_name}".encode(),
target=hash_to_bytes(directory_with_files),
target_type=ModelObjectType.DIRECTORY,
synthetic=True,
)
archive_data.release_add([release])
snapshot = Snapshot(
branches={
release_name.encode(): SnapshotBranch(
target=release.id, target_type=TargetType.RELEASE
),
},
)
archive_data.snapshot_add([snapshot])
dir_content = archive_data.directory_ls(directory_with_files)
file_entry = random.choice(
[entry for entry in dir_content if entry["type"] == "file"]
)
sha1_git = file_entry["checksums"]["sha1_git"]
browse_url = reverse(
"browse-content",
url_args={"query_string": f"sha1_git:{sha1_git}"},
query_params={
"path": file_entry["name"],
"release": release_name,
"snapshot": snapshot.id.hex(),
},
)
check_html_get_response(
> client, browse_url, status_code=200, template_used="browse/content.html"
)
.tox/py3/lib/python3.7/site-packages/swh/web/tests/browse/views/test_content.py:1114:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/web/tests/utils.py:226: in check_html_get_response
server_name=server_name,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
client = <django.test.client.Client object at 0x7f45e4f064e0>
url = '/browse/content/sha1_git:d18cac768cb7bde053a9bf61623d16f0e47d7e74/?path=SDLMain.h&release=v1.0.0&snapshot=cde938a28d0dbe6a95bc9f15c0387920d564e1d4'
status_code = 200, content_type = 'text/html', http_origin = None
server_name = None
def check_http_get_response(
client: Client,
url: str,
status_code: int,
content_type: str = "*/*",
http_origin: Optional[str] = None,
server_name: Optional[str] = None,
) -> HttpResponse:
"""Helper function to check HTTP response for a GET request.
Args:
client: Django test client
url: URL to check response
status_code: expected HTTP status code
content_type: expected response content type
http_origin: optional HTTP_ORIGIN header value
Returns:
The HTTP response
"""
actual_response = client.get(
url,
HTTP_ACCEPT=content_type,
HTTP_ORIGIN=http_origin,
SERVER_NAME=server_name if server_name else "testserver",
)
> assert isinstance(actual_response, Response)
E assert False
E + where False = isinstance(<HttpResponse status_code=200, "text/html; charset=utf-8">, Response)
.tox/py3/lib/python3.7/site-packages/swh/web/tests/utils.py:66: AssertionError
TEST RESULT
TEST RESULT
- Run At
- May 25 2022, 4:46 PM