browsertrix/backend/test/test_permissions.py
Tessa Walsh d1b59c9bd0
Use archive_viewer_dep permissions to GET crawls (#443)
* Use archive_viewer_dep permissions to GET crawls

* Add is_viewer check to archive_dep

* Add API endpoint to add new user to archive directly (/archive/<id>/add-user)

* Add tests

* Refactor tests to use fixtures

* And remove login test that duplicates fixtures
2023-01-09 19:11:53 -08:00

50 lines
1.4 KiB
Python

import requests
from .conftest import API_PREFIX
def test_admin_get_archive_crawls(admin_auth_headers, admin_aid, admin_crawl_id):
r = requests.get(
f"{API_PREFIX}/archives/{admin_aid}/crawls",
headers=admin_auth_headers
)
data = r.json()
assert len(data["crawls"]) > 0
assert data["crawls"][0]["id"] == admin_crawl_id
assert data["crawls"][0]["aid"] == admin_aid
def test_viewer_get_archive_crawls(viewer_auth_headers, admin_aid, admin_crawl_id):
r = requests.get(
f"{API_PREFIX}/archives/{admin_aid}/crawls",
headers=viewer_auth_headers
)
data = r.json()
crawls = data["crawls"]
crawl_ids = []
for crawl in crawls:
crawl_ids.append(crawl["id"])
assert len(crawls) > 0
assert admin_crawl_id in crawl_ids
def test_viewer_get_crawl(viewer_auth_headers, admin_aid, admin_crawl_id):
r = requests.get(
f"{API_PREFIX}/archives/{admin_aid}/crawls/{admin_crawl_id}",
headers=viewer_auth_headers
)
data = r.json()
assert data["id"] == admin_crawl_id
assert data["aid"] == admin_aid
def test_viewer_get_crawl_replay(viewer_auth_headers, admin_aid, admin_crawl_id):
r = requests.get(
f"{API_PREFIX}/archives/{admin_aid}/crawls/{admin_crawl_id}/replay.json",
headers=viewer_auth_headers
)
data = r.json()
assert data["id"] == admin_crawl_id
assert data["aid"] == admin_aid
assert data["resources"]