diff --git a/aurweb/rpc.py b/aurweb/rpc.py index f04de7d6..3ea7e070 100644 --- a/aurweb/rpc.py +++ b/aurweb/rpc.py @@ -138,7 +138,7 @@ class RPC: "Version": package.Version, "Description": package.Description, "URL": package.URL, - "URLPath": snapshot_uri % package.Name, + "URLPath": snapshot_uri % package.PackageBaseName, "NumVotes": package.NumVotes, "Popularity": pop, "OutOfDate": package.OutOfDateTS, diff --git a/test/test_rpc.py b/test/test_rpc.py index 0e24467a..c0861d3d 100644 --- a/test/test_rpc.py +++ b/test/test_rpc.py @@ -297,6 +297,28 @@ def test_rpc_singular_info(client: TestClient, assert response_data == expected_data +def test_rpc_split_package_urlpath(client: TestClient, user: User): + with db.begin(): + pkgbase = db.create(PackageBase, Name="pkg", + Maintainer=user, Packager=user) + pkgs = [ + db.create(Package, PackageBase=pkgbase, Name="pkg_1"), + db.create(Package, PackageBase=pkgbase, Name="pkg_2"), + ] + + with client as request: + response = request.get("/rpc", params={ + "v": 5, + "type": "info", + "arg": [pkgs[0].Name], + }) + + data = orjson.loads(response.text) + snapshot_uri = config.get("options", "snapshot_uri") + urlpath = data.get("results")[0].get("URLPath") + assert urlpath == (snapshot_uri % pkgbase.Name) + + def test_rpc_nonexistent_package(client: TestClient): # Make dummy request. with client as request: