def startSubmit(): aId = recordId[ASSESS] url = f"/api/task/{SUBMIT_ASSESSMENT}/{aId}" assertStatus(clientOwner, url, True) if assign: startAssign()
def test_login(clients, clientPublic): for user in sorted(NAMED_USERS) + [E, PUBLIC, f"xxxxxx"]: isNamed = user in NAMED_USERS expect = 302 if isNamed else 303 serverprint(f"LOGIN {user}") assertStatus(clientPublic, f"/login?eppn={user}", expect) serverprint(f"LOGOUT {user}") if user in clients: assertStatus(clients[user], f"/logout", expect)
def assertIt(cl, exp): user = cl.user for kind in [EXPERT, FINAL]: rId = G(reviewId, kind) expStatus = kind == user if exp else exp for decision in [REJECT, REVISE, ACCEPT, REVOKE]: decisionStr = G(G(REVIEW_DECISION, decision), kind) url = f"/api/task/{decisionStr}/{rId}" assertStatus(cl, url, expStatus)
def test_Revise(clientOwner): recordId = startInfo["recordId"] aId = G(recordId, ASSESS) cIds = recordId[CRITERIA_ENTRY] cIdFirst = cIds[0] assertStage(clientOwner, ASSESS, aId, COMPLETE_REVISED) assertModifyField( clientOwner, CRITERIA_ENTRY, cIdFirst, EVIDENCE, ([], E), True, ) assertStage(clientOwner, ASSESS, aId, INCOMPLETE_REVISED) theEvidence = [f"revised evidence for 1", "see the internet"] theEvidenceRep = ",".join(theEvidence) assertModifyField( clientOwner, CRITERIA_ENTRY, cIdFirst, EVIDENCE, (theEvidence, theEvidenceRep), True, ) assertStage(clientOwner, ASSESS, aId, COMPLETE_REVISED) assertStatus(clientOwner, f"/api/task/{SUBMIT_ASSESSMENT}/{aId}", False) assertStatus(clientOwner, f"/api/task/{RESUBMIT_ASSESSMENT}/{aId}", False) assertStatus(clientOwner, f"/api/task/{SUBMIT_REVISED}/{aId}", True)
def assertIt(cl, exp): assertStatus(cl, theUrl, exp)
def test_login(clientPublic, clients): for user in clients: assertStatus(clientPublic, f"/login?eppn={user}", user != PUBLIC)
def test_staticFile(clientPublic): assertStatus(clientPublic, f"{STATIC}/" + ("a" * 200) + ".html", 400) assertStatus(clientPublic, f"{COMMON_CSS}?xxx=yyy", 400) assertStatus(clientPublic, f"{COMMON_CSS}?action=" + ("a" * 200), 400) assertStatus(clientPublic, f"{COMMON_CSS}?action=" + ("a" * 10), 200) assertStatus(clientPublic, COMMON_CSS, 200) assertStatus(clientPublic, COMMONX_CSS, 303) assertStatus(clientPublic, FAVICON, 200) assertStatus(clientPublic, FAVICONX, 303) assertStatus(clientPublic, FAVICON_S, 200) assertStatus(clientPublic, FAVICON_SX, 303)
def test_static(clientPublic): assertStatus(clientPublic, STATIC, 303) assertStatus(clientPublic, f"{STATIC}/", 303) assertStatus(clientPublic, f"{STATIC}{FAV}", 303) assertStatus(clientPublic, f"{STATIC}{FAV}/", 303)