66# JavaClientApiTest.testImpersonationConnection()
77
88pytestmark = pytest .mark .integration # Mark all tests in this module as integration tests
9- TEST_EMAIL = "test_user@test.test "
9+ TEST_EMAIL = "test_user@example.com "
1010TEST_DISPLAY_NAME = "test user"
11+ DEACTIVATED_EMAIL = "deactivated_user@example.com"
12+ DEACTIVATED_DISPLAY_NAME = "deactivated user"
1113
1214
1315@pytest .fixture (scope = "session" )
@@ -17,7 +19,7 @@ def test_user(api: APIWrapper, project):
1719 user_id = resp ["userId" ]
1820 yield {"id" : user_id , "email" : TEST_EMAIL , "display_name" : TEST_DISPLAY_NAME }
1921 url = api .server_context .build_url ("security" , "deleteUser.api" , container_path = "/" )
20- resp = api .server_context .make_request (url , {"id" : user_id })
22+ api .server_context .make_request (url , {"id" : user_id })
2123
2224
2325def test_impersonation (api : APIWrapper , test_user ):
@@ -44,3 +46,22 @@ def test_impersonation(api: APIWrapper, test_user):
4446
4547 # We need to stop impersonating a user before leaving so we don't mess up other tests.
4648 api .security .stop_impersonating ()
49+
50+
51+ @pytest .fixture (scope = "module" )
52+ def deactivated_user (api : APIWrapper , project ):
53+ url = api .server_context .build_url ("security" , "createNewUser.api" )
54+ resp = api .server_context .make_request (url , {"email" : DEACTIVATED_EMAIL , "sendEmail" : False })
55+ user_id = resp ["userId" ]
56+ yield {"id" : user_id , "email" : DEACTIVATED_EMAIL , "display_name" : DEACTIVATED_DISPLAY_NAME }
57+ url = api .server_context .build_url ("security" , "deleteUser.api" , container_path = "/" )
58+ api .server_context .make_request (url , {"id" : user_id })
59+
60+
61+ def test_issue_52904 (api : APIWrapper , deactivated_user ):
62+ resp = api .security .deactivate_users (target_ids = [deactivated_user ["id" ]])
63+ assert resp ["success" ] is True
64+
65+ # Deactivating again shouldn't issue a redirect
66+ resp = api .security .deactivate_users (target_ids = [deactivated_user ["id" ]])
67+ assert resp ["success" ] is True
0 commit comments