client = <django.test.client.Client object at 0x7f45e9818f98>
staff_user = <User: admin>
archive_data = <swh.web.tests.conftest._ArchiveData object at 0x7f45e98189b0>
directory_with_subdirs = '651cd61acbf442c4da93970b11c0a6ad3f6c1bda'
staff_user_logged_in = False
@pytest.mark.django_db
@pytest.mark.parametrize("staff_user_logged_in", [False, True])
def test_browse_directory_snapshot_context_release_directory_target(
client, staff_user, archive_data, directory_with_subdirs, 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_subdirs),
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_subdirs)
dir_entry = random.choice(
[entry for entry in dir_content if entry["type"] == "dir"]
)
browse_url = reverse(
"browse-directory",
url_args={"sha1_git": directory_with_subdirs},
query_params={
"path": dir_entry["name"],
"release": release_name,
"snapshot": snapshot.id.hex(),
},
)
check_html_get_response(
> client, browse_url, status_code=200, template_used="browse/directory.html"
)
.tox/py3/lib/python3.7/site-packages/swh/web/tests/browse/views/test_directory.py:564:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.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 0x7f45e9818f98>
url = '/browse/directory/651cd61acbf442c4da93970b11c0a6ad3f6c1bda/?path=src&release=v1.0.0&snapshot=246eab310f5577c608fff9936a746b9dd4ff429e'
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