Skip to content

Commit

Permalink
Set mine and archived as bools
Browse files Browse the repository at this point in the history
  • Loading branch information
FedericoCeratto committed Aug 9, 2023
1 parent 2484cd4 commit 3b1eb0e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 9 deletions.
6 changes: 6 additions & 0 deletions api/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
ooni-api (1.0.64) unstable; urgency=medium

* Set "mine" and "archived" as bools

-- Federico Ceratto <[email protected]> Wed, 09 Aug 2023 18:29:42 +0200

ooni-api (1.0.63) unstable; urgency=medium

* Add "mine" to incident API
Expand Down
7 changes: 5 additions & 2 deletions api/ooniapi/oonirun.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,10 +274,10 @@ def fetch_oonirun_descriptor(oonirun_id) -> Response:
descriptor = json.loads(r["descriptor"])

kw = dict(
archived=r["archived"],
archived=bool(r["archived"]),
descriptor=descriptor,
descriptor_creation_time=r["descriptor_creation_time"],
mine=r["mine"],
mine=bool(r["mine"]),
translation_creation_time=r["translation_creation_time"],
v=1,
)
Expand Down Expand Up @@ -387,5 +387,8 @@ def list_oonirun_descriptors() -> Response:
ORDER BY descriptor_creation_time, translation_creation_time
"""
descriptors = list(query_click(query, query_params))
for d in descriptors:
d["mine"] = bool(d["mine"])
d["archived"] = bool(d["archived"])
log.debug(f"Returning {len(descriptors)} descriptor[s]")
return nocachejson(v=1, descriptors=descriptors)
17 changes: 10 additions & 7 deletions api/tests/integ/test_oonirun.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,12 +167,12 @@ def test_create_fetch_archive(cleanup, client, usersession, adminsession):
say("find the item created by usersession above")
desc = [d for d in r.json["descriptors"] if d["id"] == oonirun_id][0]
assert desc == {
"archived": 0,
"archived": False,
"author": "integ-test author",
"descriptor_creation_time": creation_time,
"icon": "myicon",
"id": oonirun_id,
"mine": 0,
"mine": False,
"name": "integ-test name in English",
"short_description": "integ-test short description in English",
"translation_creation_time": translation_creation_time,
Expand All @@ -190,8 +190,8 @@ def test_create_fetch_archive(cleanup, client, usersession, adminsession):
r = usersession.get(f"/api/_/ooni_run/fetch/{oonirun_id}")
assert r.status_code == 200, r.json
assert r.json["v"] == 1, r.json
assert r.json["mine"] == 1, r.json
assert r.json["archived"] == 0, r.json
assert r.json["mine"] is True, r.json
assert r.json["archived"] is False, r.json
say("descriptor_creation_time has changed")
assert creation_time < r.json["descriptor_creation_time"]
assert translation_creation_time < r.json["translation_creation_time"]
Expand All @@ -210,6 +210,9 @@ def test_create_fetch_archive(cleanup, client, usersession, adminsession):
assert r.status_code == 200, r.json
descs = r.json["descriptors"]
assert len(descs) == 2, r.json
for d in descs:
assert d["mine"] is True
assert d["archived"] is False

say("Fail to update the oonirun using the wrong account")
r = adminsession.post(f"/api/_/ooni_run/create?id={oonirun_id}", json=z)
Expand All @@ -234,8 +237,8 @@ def test_create_fetch_archive(cleanup, client, usersession, adminsession):
assert translation_creation_time < r.json["translation_creation_time"]
exp["description_intl"]["it"] = "integ-test *nuova* descrizione in italiano"
assert r.json["descriptor"] == exp
assert r.json["mine"] == 1, r.json
assert r.json["archived"] == 0, r.json
assert r.json["mine"] is True, r.json
assert r.json["archived"] is False, r.json

say("Archive it")
r = usersession.post(f"/api/_/ooni_run/archive/{oonirun_id}")
Expand All @@ -257,7 +260,7 @@ def test_create_fetch_archive(cleanup, client, usersession, adminsession):
say("Fetch latest and find that it's archived")
r = usersession.get(f"/api/_/ooni_run/fetch/{oonirun_id}")
assert r.status_code == 200, r.json
assert r.json["archived"] == 1, r.json
assert r.json["archived"] == True, r.json


def test_fetch_not_found(cleanup, usersession):
Expand Down

0 comments on commit 3b1eb0e

Please sign in to comment.