mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
style: Run pre-commit
This commit is contained in:
parent
b47882b114
commit
9c6c13b78a
235 changed files with 7180 additions and 5628 deletions
|
@ -1,10 +1,8 @@
|
|||
import re
|
||||
|
||||
from http import HTTPStatus
|
||||
from logging import DEBUG
|
||||
|
||||
import pytest
|
||||
|
||||
from fastapi import HTTPException
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
@ -24,13 +22,13 @@ from aurweb.testing.requests import Request
|
|||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup(db_test) -> None:
|
||||
""" Setup the database. """
|
||||
"""Setup the database."""
|
||||
return
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def client() -> TestClient:
|
||||
""" Yield a TestClient. """
|
||||
"""Yield a TestClient."""
|
||||
yield TestClient(app=asgi.app)
|
||||
|
||||
|
||||
|
@ -43,21 +41,26 @@ def create_user(username: str, email: str) -> User:
|
|||
:return: User instance
|
||||
"""
|
||||
with db.begin():
|
||||
user = db.create(User, Username=username, Email=email,
|
||||
Passwd="testPassword", AccountTypeID=USER_ID)
|
||||
user = db.create(
|
||||
User,
|
||||
Username=username,
|
||||
Email=email,
|
||||
Passwd="testPassword",
|
||||
AccountTypeID=USER_ID,
|
||||
)
|
||||
return user
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def user() -> User:
|
||||
""" Yield a User instance. """
|
||||
"""Yield a User instance."""
|
||||
user = create_user("test", "test@example.org")
|
||||
yield user
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def auser(user: User) -> User:
|
||||
""" Yield an authenticated User instance. """
|
||||
"""Yield an authenticated User instance."""
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
user.cookies = cookies
|
||||
yield user
|
||||
|
@ -65,14 +68,14 @@ def auser(user: User) -> User:
|
|||
|
||||
@pytest.fixture
|
||||
def user2() -> User:
|
||||
""" Yield a secondary non-maintainer User instance. """
|
||||
"""Yield a secondary non-maintainer User instance."""
|
||||
user = create_user("test2", "test2@example.org")
|
||||
yield user
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def auser2(user2: User) -> User:
|
||||
""" Yield an authenticated secondary non-maintainer User instance. """
|
||||
"""Yield an authenticated secondary non-maintainer User instance."""
|
||||
cookies = {"AURSID": user2.login(Request(), "testPassword")}
|
||||
user2.cookies = cookies
|
||||
yield user2
|
||||
|
@ -80,31 +83,34 @@ def auser2(user2: User) -> User:
|
|||
|
||||
@pytest.fixture
|
||||
def maintainer() -> User:
|
||||
""" Yield a specific User used to maintain packages. """
|
||||
"""Yield a specific User used to maintain packages."""
|
||||
with db.begin():
|
||||
maintainer = db.create(User, Username="test_maintainer",
|
||||
Email="test_maintainer@example.org",
|
||||
Passwd="testPassword",
|
||||
AccountTypeID=USER_ID)
|
||||
maintainer = db.create(
|
||||
User,
|
||||
Username="test_maintainer",
|
||||
Email="test_maintainer@example.org",
|
||||
Passwd="testPassword",
|
||||
AccountTypeID=USER_ID,
|
||||
)
|
||||
yield maintainer
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def packages(maintainer: User) -> list[Package]:
|
||||
""" Yield 55 packages named pkg_0 .. pkg_54. """
|
||||
"""Yield 55 packages named pkg_0 .. pkg_54."""
|
||||
packages_ = []
|
||||
now = time.utcnow()
|
||||
with db.begin():
|
||||
for i in range(55):
|
||||
pkgbase = db.create(PackageBase,
|
||||
Name=f"pkg_{i}",
|
||||
Maintainer=maintainer,
|
||||
Packager=maintainer,
|
||||
Submitter=maintainer,
|
||||
ModifiedTS=now)
|
||||
package = db.create(Package,
|
||||
PackageBase=pkgbase,
|
||||
Name=f"pkg_{i}")
|
||||
pkgbase = db.create(
|
||||
PackageBase,
|
||||
Name=f"pkg_{i}",
|
||||
Maintainer=maintainer,
|
||||
Packager=maintainer,
|
||||
Submitter=maintainer,
|
||||
ModifiedTS=now,
|
||||
)
|
||||
package = db.create(Package, PackageBase=pkgbase, Name=f"pkg_{i}")
|
||||
packages_.append(package)
|
||||
|
||||
yield packages_
|
||||
|
@ -115,20 +121,22 @@ def requests(user: User, packages: list[Package]) -> list[PackageRequest]:
|
|||
pkgreqs = []
|
||||
with db.begin():
|
||||
for i in range(55):
|
||||
pkgreq = db.create(PackageRequest,
|
||||
ReqTypeID=DELETION_ID,
|
||||
User=user,
|
||||
PackageBase=packages[i].PackageBase,
|
||||
PackageBaseName=packages[i].Name,
|
||||
Comments=f"Deletion request for pkg_{i}",
|
||||
ClosureComment=str())
|
||||
pkgreq = db.create(
|
||||
PackageRequest,
|
||||
ReqTypeID=DELETION_ID,
|
||||
User=user,
|
||||
PackageBase=packages[i].PackageBase,
|
||||
PackageBaseName=packages[i].Name,
|
||||
Comments=f"Deletion request for pkg_{i}",
|
||||
ClosureComment=str(),
|
||||
)
|
||||
pkgreqs.append(pkgreq)
|
||||
yield pkgreqs
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def tu_user() -> User:
|
||||
""" Yield an authenticated Trusted User instance. """
|
||||
"""Yield an authenticated Trusted User instance."""
|
||||
user = create_user("test_tu", "test_tu@example.org")
|
||||
with db.begin():
|
||||
user.AccountTypeID = TRUSTED_USER_ID
|
||||
|
@ -149,31 +157,38 @@ def create_pkgbase(user: User, name: str) -> PackageBase:
|
|||
"""
|
||||
now = time.utcnow()
|
||||
with db.begin():
|
||||
pkgbase = db.create(PackageBase, Name=name,
|
||||
Maintainer=user, Packager=user,
|
||||
SubmittedTS=now, ModifiedTS=now)
|
||||
pkgbase = db.create(
|
||||
PackageBase,
|
||||
Name=name,
|
||||
Maintainer=user,
|
||||
Packager=user,
|
||||
SubmittedTS=now,
|
||||
ModifiedTS=now,
|
||||
)
|
||||
db.create(Package, Name=pkgbase.Name, PackageBase=pkgbase)
|
||||
return pkgbase
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def pkgbase(user: User) -> PackageBase:
|
||||
""" Yield a package base. """
|
||||
"""Yield a package base."""
|
||||
pkgbase = create_pkgbase(user, "test-package")
|
||||
yield pkgbase
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def target(user: User) -> PackageBase:
|
||||
""" Yield a merge target (package base). """
|
||||
"""Yield a merge target (package base)."""
|
||||
with db.begin():
|
||||
target = db.create(PackageBase, Name="target-package",
|
||||
Maintainer=user, Packager=user)
|
||||
target = db.create(
|
||||
PackageBase, Name="target-package", Maintainer=user, Packager=user
|
||||
)
|
||||
yield target
|
||||
|
||||
|
||||
def create_request(reqtype_id: int, user: User, pkgbase: PackageBase,
|
||||
comments: str) -> PackageRequest:
|
||||
def create_request(
|
||||
reqtype_id: int, user: User, pkgbase: PackageBase, comments: str
|
||||
) -> PackageRequest:
|
||||
"""
|
||||
Create a package request based on `reqtype_id`, `user`,
|
||||
`pkgbase` and `comments`.
|
||||
|
@ -186,40 +201,43 @@ def create_request(reqtype_id: int, user: User, pkgbase: PackageBase,
|
|||
"""
|
||||
now = time.utcnow()
|
||||
with db.begin():
|
||||
pkgreq = db.create(PackageRequest, ReqTypeID=reqtype_id,
|
||||
User=user, PackageBase=pkgbase,
|
||||
PackageBaseName=pkgbase.Name,
|
||||
RequestTS=now,
|
||||
Comments=comments,
|
||||
ClosureComment=str())
|
||||
pkgreq = db.create(
|
||||
PackageRequest,
|
||||
ReqTypeID=reqtype_id,
|
||||
User=user,
|
||||
PackageBase=pkgbase,
|
||||
PackageBaseName=pkgbase.Name,
|
||||
RequestTS=now,
|
||||
Comments=comments,
|
||||
ClosureComment=str(),
|
||||
)
|
||||
return pkgreq
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def pkgreq(user: User, pkgbase: PackageBase):
|
||||
""" Yield a package request. """
|
||||
"""Yield a package request."""
|
||||
pkgreq = create_request(DELETION_ID, user, pkgbase, "Test request.")
|
||||
yield pkgreq
|
||||
|
||||
|
||||
def create_notification(user: User, pkgbase: PackageBase):
|
||||
""" Create a notification for a `user` on `pkgbase`. """
|
||||
"""Create a notification for a `user` on `pkgbase`."""
|
||||
with db.begin():
|
||||
notif = db.create(PackageNotification, User=user, PackageBase=pkgbase)
|
||||
return notif
|
||||
|
||||
|
||||
def test_request(client: TestClient, auser: User, pkgbase: PackageBase):
|
||||
""" Test the standard pkgbase request route GET method. """
|
||||
"""Test the standard pkgbase request route GET method."""
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/request"
|
||||
with client as request:
|
||||
resp = request.get(endpoint, cookies=auser.cookies)
|
||||
assert resp.status_code == int(HTTPStatus.OK)
|
||||
|
||||
|
||||
def test_request_post_deletion(client: TestClient, auser2: User,
|
||||
pkgbase: PackageBase):
|
||||
""" Test the POST route for creating a deletion request works. """
|
||||
def test_request_post_deletion(client: TestClient, auser2: User, pkgbase: PackageBase):
|
||||
"""Test the POST route for creating a deletion request works."""
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/request"
|
||||
data = {"comments": "Test request.", "type": "deletion"}
|
||||
with client as request:
|
||||
|
@ -238,9 +256,10 @@ def test_request_post_deletion(client: TestClient, auser2: User,
|
|||
assert re.match(expr, email.headers.get("Subject"))
|
||||
|
||||
|
||||
def test_request_post_deletion_as_maintainer(client: TestClient, auser: User,
|
||||
pkgbase: PackageBase):
|
||||
""" Test the POST route for creating a deletion request as maint works. """
|
||||
def test_request_post_deletion_as_maintainer(
|
||||
client: TestClient, auser: User, pkgbase: PackageBase
|
||||
):
|
||||
"""Test the POST route for creating a deletion request as maint works."""
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/request"
|
||||
data = {"comments": "Test request.", "type": "deletion"}
|
||||
with client as request:
|
||||
|
@ -267,10 +286,13 @@ def test_request_post_deletion_as_maintainer(client: TestClient, auser: User,
|
|||
assert re.match(expr, email.headers.get("Subject"))
|
||||
|
||||
|
||||
def test_request_post_deletion_autoaccept(client: TestClient, auser: User,
|
||||
pkgbase: PackageBase,
|
||||
caplog: pytest.LogCaptureFixture):
|
||||
""" Test the request route for deletion as maintainer. """
|
||||
def test_request_post_deletion_autoaccept(
|
||||
client: TestClient,
|
||||
auser: User,
|
||||
pkgbase: PackageBase,
|
||||
caplog: pytest.LogCaptureFixture,
|
||||
):
|
||||
"""Test the request route for deletion as maintainer."""
|
||||
caplog.set_level(DEBUG)
|
||||
|
||||
now = time.utcnow()
|
||||
|
@ -284,9 +306,11 @@ def test_request_post_deletion_autoaccept(client: TestClient, auser: User,
|
|||
resp = request.post(endpoint, data=data, cookies=auser.cookies)
|
||||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
|
||||
pkgreq = db.query(PackageRequest).filter(
|
||||
PackageRequest.PackageBaseName == pkgbase.Name
|
||||
).first()
|
||||
pkgreq = (
|
||||
db.query(PackageRequest)
|
||||
.filter(PackageRequest.PackageBaseName == pkgbase.Name)
|
||||
.first()
|
||||
)
|
||||
assert pkgreq is not None
|
||||
assert pkgreq.ReqTypeID == DELETION_ID
|
||||
assert pkgreq.Status == ACCEPTED_ID
|
||||
|
@ -310,9 +334,10 @@ def test_request_post_deletion_autoaccept(client: TestClient, auser: User,
|
|||
assert re.search(expr, caplog.text)
|
||||
|
||||
|
||||
def test_request_post_merge(client: TestClient, auser: User,
|
||||
pkgbase: PackageBase, target: PackageBase):
|
||||
""" Test the request route for merge as maintainer. """
|
||||
def test_request_post_merge(
|
||||
client: TestClient, auser: User, pkgbase: PackageBase, target: PackageBase
|
||||
):
|
||||
"""Test the request route for merge as maintainer."""
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/request"
|
||||
data = {
|
||||
"type": "merge",
|
||||
|
@ -336,9 +361,8 @@ def test_request_post_merge(client: TestClient, auser: User,
|
|||
assert re.match(expr, email.headers.get("Subject"))
|
||||
|
||||
|
||||
def test_request_post_orphan(client: TestClient, auser: User,
|
||||
pkgbase: PackageBase):
|
||||
""" Test the POST route for creating an orphan request works. """
|
||||
def test_request_post_orphan(client: TestClient, auser: User, pkgbase: PackageBase):
|
||||
"""Test the POST route for creating an orphan request works."""
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/request"
|
||||
data = {
|
||||
"type": "orphan",
|
||||
|
@ -361,9 +385,14 @@ def test_request_post_orphan(client: TestClient, auser: User,
|
|||
assert re.match(expr, email.headers.get("Subject"))
|
||||
|
||||
|
||||
def test_deletion_request(client: TestClient, user: User, tu_user: User,
|
||||
pkgbase: PackageBase, pkgreq: PackageRequest):
|
||||
""" Test deleting a package with a preexisting request. """
|
||||
def test_deletion_request(
|
||||
client: TestClient,
|
||||
user: User,
|
||||
tu_user: User,
|
||||
pkgbase: PackageBase,
|
||||
pkgreq: PackageRequest,
|
||||
):
|
||||
"""Test deleting a package with a preexisting request."""
|
||||
# `pkgreq`.ReqTypeID is already DELETION_ID.
|
||||
create_request(DELETION_ID, user, pkgbase, "Other request.")
|
||||
|
||||
|
@ -402,9 +431,8 @@ def test_deletion_request(client: TestClient, user: User, tu_user: User,
|
|||
assert body in email.body
|
||||
|
||||
|
||||
def test_deletion_autorequest(client: TestClient, tu_user: User,
|
||||
pkgbase: PackageBase):
|
||||
""" Test deleting a package without a request. """
|
||||
def test_deletion_autorequest(client: TestClient, tu_user: User, pkgbase: PackageBase):
|
||||
"""Test deleting a package without a request."""
|
||||
# `pkgreq`.ReqTypeID is already DELETION_ID.
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/delete"
|
||||
data = {"confirm": True}
|
||||
|
@ -421,10 +449,15 @@ def test_deletion_autorequest(client: TestClient, tu_user: User,
|
|||
assert "[Autogenerated]" in email.body
|
||||
|
||||
|
||||
def test_merge_request(client: TestClient, user: User, tu_user: User,
|
||||
pkgbase: PackageBase, target: PackageBase,
|
||||
pkgreq: PackageRequest):
|
||||
""" Test merging a package with a pre - existing request. """
|
||||
def test_merge_request(
|
||||
client: TestClient,
|
||||
user: User,
|
||||
tu_user: User,
|
||||
pkgbase: PackageBase,
|
||||
target: PackageBase,
|
||||
pkgreq: PackageRequest,
|
||||
):
|
||||
"""Test merging a package with a pre - existing request."""
|
||||
with db.begin():
|
||||
pkgreq.ReqTypeID = MERGE_ID
|
||||
pkgreq.MergeBaseName = target.Name
|
||||
|
@ -473,9 +506,14 @@ def test_merge_request(client: TestClient, user: User, tu_user: User,
|
|||
assert "[Autogenerated]" in rejected.body
|
||||
|
||||
|
||||
def test_merge_autorequest(client: TestClient, user: User, tu_user: User,
|
||||
pkgbase: PackageBase, target: PackageBase):
|
||||
""" Test merging a package without a request. """
|
||||
def test_merge_autorequest(
|
||||
client: TestClient,
|
||||
user: User,
|
||||
tu_user: User,
|
||||
pkgbase: PackageBase,
|
||||
target: PackageBase,
|
||||
):
|
||||
"""Test merging a package without a request."""
|
||||
with db.begin():
|
||||
pkgreq.ReqTypeID = MERGE_ID
|
||||
pkgreq.MergeBaseName = target.Name
|
||||
|
@ -498,13 +536,17 @@ def test_merge_autorequest(client: TestClient, user: User, tu_user: User,
|
|||
assert "[Autogenerated]" in email.body
|
||||
|
||||
|
||||
def test_orphan_request(client: TestClient, user: User, tu_user: User,
|
||||
pkgbase: PackageBase, pkgreq: PackageRequest):
|
||||
""" Test the standard orphan request route. """
|
||||
def test_orphan_request(
|
||||
client: TestClient,
|
||||
user: User,
|
||||
tu_user: User,
|
||||
pkgbase: PackageBase,
|
||||
pkgreq: PackageRequest,
|
||||
):
|
||||
"""Test the standard orphan request route."""
|
||||
user2 = create_user("user2", "user2@example.org")
|
||||
with db.begin():
|
||||
db.create(PackageComaintainer, User=user2,
|
||||
PackageBase=pkgbase, Priority=1)
|
||||
db.create(PackageComaintainer, User=user2, PackageBase=pkgbase, Priority=1)
|
||||
|
||||
idle_time = config.getint("options", "request_idle_time")
|
||||
now = time.utcnow()
|
||||
|
@ -537,10 +579,9 @@ def test_orphan_request(client: TestClient, user: User, tu_user: User,
|
|||
assert re.match(subj, email.headers.get("Subject"))
|
||||
|
||||
|
||||
def test_request_post_orphan_autogenerated_closure(client: TestClient,
|
||||
tu_user: User,
|
||||
pkgbase: PackageBase,
|
||||
pkgreq: PackageRequest):
|
||||
def test_request_post_orphan_autogenerated_closure(
|
||||
client: TestClient, tu_user: User, pkgbase: PackageBase, pkgreq: PackageRequest
|
||||
):
|
||||
idle_time = config.getint("options", "request_idle_time")
|
||||
now = time.utcnow()
|
||||
with db.begin():
|
||||
|
@ -564,10 +605,13 @@ def test_request_post_orphan_autogenerated_closure(client: TestClient,
|
|||
assert re.search(expr, email.body)
|
||||
|
||||
|
||||
def test_request_post_orphan_autoaccept(client: TestClient, auser: User,
|
||||
pkgbase: PackageBase,
|
||||
caplog: pytest.LogCaptureFixture):
|
||||
""" Test the standard pkgbase request route GET method. """
|
||||
def test_request_post_orphan_autoaccept(
|
||||
client: TestClient,
|
||||
auser: User,
|
||||
pkgbase: PackageBase,
|
||||
caplog: pytest.LogCaptureFixture,
|
||||
):
|
||||
"""Test the standard pkgbase request route GET method."""
|
||||
caplog.set_level(DEBUG)
|
||||
now = time.utcnow()
|
||||
auto_orphan_age = config.getint("options", "auto_orphan_age")
|
||||
|
@ -605,8 +649,7 @@ def test_request_post_orphan_autoaccept(client: TestClient, auser: User,
|
|||
assert re.search(expr, caplog.text)
|
||||
|
||||
|
||||
def test_orphan_as_maintainer(client: TestClient, auser: User,
|
||||
pkgbase: PackageBase):
|
||||
def test_orphan_as_maintainer(client: TestClient, auser: User, pkgbase: PackageBase):
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/disown"
|
||||
data = {"confirm": True}
|
||||
with client as request:
|
||||
|
@ -620,9 +663,10 @@ def test_orphan_as_maintainer(client: TestClient, auser: User,
|
|||
assert pkgbase.Maintainer is None
|
||||
|
||||
|
||||
def test_orphan_without_requests(client: TestClient, tu_user: User,
|
||||
pkgbase: PackageBase):
|
||||
""" Test orphans are automatically accepted past a certain date. """
|
||||
def test_orphan_without_requests(
|
||||
client: TestClient, tu_user: User, pkgbase: PackageBase
|
||||
):
|
||||
"""Test orphans are automatically accepted past a certain date."""
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/disown"
|
||||
data = {"confirm": True}
|
||||
with client as request:
|
||||
|
@ -637,7 +681,7 @@ def test_orphan_without_requests(client: TestClient, tu_user: User,
|
|||
|
||||
|
||||
def test_closure_factory_invalid_reqtype_id():
|
||||
""" Test providing an invalid reqtype_id raises NotImplementedError. """
|
||||
"""Test providing an invalid reqtype_id raises NotImplementedError."""
|
||||
automated = ClosureFactory()
|
||||
match = r"^Unsupported '.+' value\.$"
|
||||
with pytest.raises(NotImplementedError, match=match):
|
||||
|
@ -657,19 +701,25 @@ def test_requests_unauthorized(client: TestClient):
|
|||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
|
||||
|
||||
def test_requests(client: TestClient,
|
||||
tu_user: User,
|
||||
packages: list[Package],
|
||||
requests: list[PackageRequest]):
|
||||
def test_requests(
|
||||
client: TestClient,
|
||||
tu_user: User,
|
||||
packages: list[Package],
|
||||
requests: list[PackageRequest],
|
||||
):
|
||||
cookies = {"AURSID": tu_user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.get("/requests", params={
|
||||
# Pass in url query parameters O, SeB and SB to exercise
|
||||
# their paths inside of the pager_nav used in this request.
|
||||
"O": 0, # Page 1
|
||||
"SeB": "nd",
|
||||
"SB": "n"
|
||||
}, cookies=cookies)
|
||||
resp = request.get(
|
||||
"/requests",
|
||||
params={
|
||||
# Pass in url query parameters O, SeB and SB to exercise
|
||||
# their paths inside of the pager_nav used in this request.
|
||||
"O": 0, # Page 1
|
||||
"SeB": "nd",
|
||||
"SB": "n",
|
||||
},
|
||||
cookies=cookies,
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.OK)
|
||||
|
||||
assert "Next ›" in resp.text
|
||||
|
@ -682,9 +732,7 @@ def test_requests(client: TestClient,
|
|||
|
||||
# Request page 2 of the requests page.
|
||||
with client as request:
|
||||
resp = request.get("/requests", params={
|
||||
"O": 50 # Page 2
|
||||
}, cookies=cookies)
|
||||
resp = request.get("/requests", params={"O": 50}, cookies=cookies) # Page 2
|
||||
assert resp.status_code == int(HTTPStatus.OK)
|
||||
|
||||
assert "‹ Previous" in resp.text
|
||||
|
@ -695,8 +743,9 @@ def test_requests(client: TestClient,
|
|||
assert len(rows) == 5 # There are five records left on the second page.
|
||||
|
||||
|
||||
def test_requests_selfmade(client: TestClient, user: User,
|
||||
requests: list[PackageRequest]):
|
||||
def test_requests_selfmade(
|
||||
client: TestClient, user: User, requests: list[PackageRequest]
|
||||
):
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.get("/requests", cookies=cookies)
|
||||
|
@ -710,46 +759,52 @@ def test_requests_selfmade(client: TestClient, user: User,
|
|||
|
||||
# Our first and only link in the last row should be "Close".
|
||||
for row in rows:
|
||||
last_row = row.xpath('./td')[-1].xpath('./a')[0]
|
||||
last_row = row.xpath("./td")[-1].xpath("./a")[0]
|
||||
assert last_row.text.strip() == "Close"
|
||||
|
||||
|
||||
def test_requests_close(client: TestClient, user: User,
|
||||
pkgreq: PackageRequest):
|
||||
def test_requests_close(client: TestClient, user: User, pkgreq: PackageRequest):
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.get(f"/requests/{pkgreq.ID}/close", cookies=cookies,
|
||||
allow_redirects=False)
|
||||
resp = request.get(
|
||||
f"/requests/{pkgreq.ID}/close", cookies=cookies, allow_redirects=False
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.OK)
|
||||
|
||||
|
||||
def test_requests_close_unauthorized(client: TestClient, maintainer: User,
|
||||
pkgreq: PackageRequest):
|
||||
def test_requests_close_unauthorized(
|
||||
client: TestClient, maintainer: User, pkgreq: PackageRequest
|
||||
):
|
||||
cookies = {"AURSID": maintainer.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.get(f"/requests/{pkgreq.ID}/close", cookies=cookies,
|
||||
allow_redirects=False)
|
||||
resp = request.get(
|
||||
f"/requests/{pkgreq.ID}/close", cookies=cookies, allow_redirects=False
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
assert resp.headers.get("location") == "/"
|
||||
|
||||
|
||||
def test_requests_close_post_unauthorized(client: TestClient, maintainer: User,
|
||||
pkgreq: PackageRequest):
|
||||
def test_requests_close_post_unauthorized(
|
||||
client: TestClient, maintainer: User, pkgreq: PackageRequest
|
||||
):
|
||||
cookies = {"AURSID": maintainer.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.post(f"/requests/{pkgreq.ID}/close", data={
|
||||
"reason": ACCEPTED_ID
|
||||
}, cookies=cookies, allow_redirects=False)
|
||||
resp = request.post(
|
||||
f"/requests/{pkgreq.ID}/close",
|
||||
data={"reason": ACCEPTED_ID},
|
||||
cookies=cookies,
|
||||
allow_redirects=False,
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
assert resp.headers.get("location") == "/"
|
||||
|
||||
|
||||
def test_requests_close_post(client: TestClient, user: User,
|
||||
pkgreq: PackageRequest):
|
||||
def test_requests_close_post(client: TestClient, user: User, pkgreq: PackageRequest):
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.post(f"/requests/{pkgreq.ID}/close",
|
||||
cookies=cookies, allow_redirects=False)
|
||||
resp = request.post(
|
||||
f"/requests/{pkgreq.ID}/close", cookies=cookies, allow_redirects=False
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
|
||||
assert pkgreq.Status == REJECTED_ID
|
||||
|
@ -757,12 +812,14 @@ def test_requests_close_post(client: TestClient, user: User,
|
|||
assert pkgreq.ClosureComment == str()
|
||||
|
||||
|
||||
def test_requests_close_post_rejected(client: TestClient, user: User,
|
||||
pkgreq: PackageRequest):
|
||||
def test_requests_close_post_rejected(
|
||||
client: TestClient, user: User, pkgreq: PackageRequest
|
||||
):
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
resp = request.post(f"/requests/{pkgreq.ID}/close",
|
||||
cookies=cookies, allow_redirects=False)
|
||||
resp = request.post(
|
||||
f"/requests/{pkgreq.ID}/close", cookies=cookies, allow_redirects=False
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
|
||||
assert pkgreq.Status == REJECTED_ID
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue