fix(python): use S argument to decide Suspended

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-12-04 00:51:33 -08:00
parent 0ed752277c
commit cf978e23aa
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
2 changed files with 30 additions and 4 deletions

View file

@ -12,7 +12,7 @@ def simple(U: str = str(), E: str = str(), H: bool = False,
BE: str = str(), R: str = str(), HP: str = str(),
I: str = str(), K: str = str(), J: bool = False,
CN: bool = False, UN: bool = False, ON: bool = False,
user: models.User = None,
S: bool = False, user: models.User = None,
**kwargs) -> None:
now = int(datetime.utcnow().timestamp())
with db.begin():
@ -24,7 +24,7 @@ def simple(U: str = str(), E: str = str(), H: bool = False,
user.Homepage = HP or user.Homepage
user.IRCNick = I or user.IRCNick
user.PGPKey = K or user.PGPKey
user.Suspended = strtobool(J)
user.Suspended = strtobool(S)
user.InactivityTS = now * int(strtobool(J))
user.CommentNotify = strtobool(CN)
user.UpdateNotify = strtobool(UN)

View file

@ -814,7 +814,6 @@ def test_post_account_edit_inactivity(client: TestClient, user: User):
assert resp.status_code == int(HTTPStatus.OK)
# Make sure the user record got updated correctly.
assert user.Suspended
assert user.InactivityTS > 0
post_data.update({"J": False})
@ -823,10 +822,37 @@ def test_post_account_edit_inactivity(client: TestClient, user: User):
cookies=cookies)
assert resp.status_code == int(HTTPStatus.OK)
assert not user.Suspended
assert user.InactivityTS == 0
def test_post_account_edit_suspended(client: TestClient, user: User):
with db.begin():
user.AccountTypeID = TRUSTED_USER_ID
assert not user.Suspended
cookies = {"AURSID": user.login(Request(), "testPassword")}
post_data = {
"U": "test",
"E": "test@example.org",
"S": True,
"passwd": "testPassword"
}
endpoint = f"/account/{user.Username}/edit"
with client as request:
resp = request.post(endpoint, data=post_data, cookies=cookies)
assert resp.status_code == int(HTTPStatus.OK)
# Make sure the user record got updated correctly.
assert user.Suspended
post_data.update({"S": False})
with client as request:
resp = request.post(endpoint, data=post_data, cookies=cookies)
assert resp.status_code == int(HTTPStatus.OK)
assert not user.Suspended
def test_post_account_edit_error_unauthorized(client: TestClient, user: User):
request = Request()
sid = user.login(request, "testPassword")