feat(rpc): add "by" parameter - submitter

Add "by" parameter: submitter

Signed-off-by: moson-mo <mo-son@mailbox.org>
This commit is contained in:
moson-mo 2022-11-07 22:46:24 +01:00
parent 0583f30a53
commit 5484e68b42
No known key found for this signature in database
GPG key ID: 4A4760AB4EE15296
3 changed files with 32 additions and 4 deletions

View file

@ -81,7 +81,11 @@ def packages(user: User, user2: User, user3: User) -> list[Package]:
# Create package records used in our tests.
with db.begin():
pkgbase = db.create(
PackageBase, Name="big-chungus", Maintainer=user, Packager=user
PackageBase,
Name="big-chungus",
Maintainer=user,
Packager=user,
Submitter=user2,
)
pkg = db.create(
Package,
@ -93,7 +97,11 @@ def packages(user: User, user2: User, user3: User) -> list[Package]:
output.append(pkg)
pkgbase = db.create(
PackageBase, Name="chungy-chungus", Maintainer=user, Packager=user
PackageBase,
Name="chungy-chungus",
Maintainer=user,
Packager=user,
Submitter=user2,
)
pkg = db.create(
Package,
@ -911,6 +919,25 @@ def test_rpc_search_groups(
assert result.get("Name") == packages[0].Name
def test_rpc_search_submitter(client: TestClient, user2: User, packages: list[Package]):
params = {"v": 5, "type": "search", "by": "submitter", "arg": user2.Username}
with client as request:
response = request.get("/rpc", params=params)
data = response.json()
# user2 submitted 2 packages
assert data.get("resultcount") == 2
names = list(sorted(r.get("Name") for r in data.get("results")))
expected_results = ["big-chungus", "chungy-chungus"]
assert names == expected_results
# Search for a non-existent submitter, giving us zero packages.
params["arg"] = "blah-blah"
response = request.get("/rpc", params=params)
data = response.json()
assert data.get("resultcount") == 0
def test_rpc_incorrect_by(client: TestClient):
params = {"v": 5, "type": "search", "by": "fake", "arg": "big"}
with client as request: