15531: Don't activate new user if old user is not active
[arvados.git] / sdk / python / tests / fed-migrate / check.py
index 3927954ce44e6537c8c9390d39d83cc4719bbc47..8f494be2fb4448ed3135c05328b12f3d398f55a1 100644 (file)
@@ -10,11 +10,11 @@ apiC = arvados.api(host=j["arvados_api_hosts"][2], token=j["superuser_tokens"][2
 
 users = apiA.users().list().execute()
 
-assert len(users["items"]) == 10
+assert len(users["items"]) == 11
 
 by_username = {}
 
-for i in range(1, 9):
+for i in range(1, 10):
     found = False
     for u in users["items"]:
         if u["username"] == ("case%d" % i) and u["email"] == ("case%d@test" % i):
@@ -22,10 +22,17 @@ for i in range(1, 9):
             by_username[u["username"]] = u["uuid"]
     assert found
 
+found = False
+for u in users["items"]:
+    if (u["username"] == "case9" and u["email"] == "case9@test" and
+        u["uuid"] == by_username[u["username"]] and u["is_active"] is False):
+        found = True
+assert found
+
 users = apiB.users().list().execute()
-assert len(users["items"]) == 10
+assert len(users["items"]) == 11
 
-for i in range(2, 9):
+for i in range(2, 10):
     found = False
     for u in users["items"]:
         if u["username"] == ("case%d" % i) and u["email"] == ("case%d@test" % i) and u["uuid"] == by_username[u["username"]]:
@@ -33,13 +40,22 @@ for i in range(2, 9):
     assert found
 
 users = apiC.users().list().execute()
-assert len(users["items"]) == 10
+assert len(users["items"]) == 8
 
-for i in range(2, 9):
+for i in (2, 4, 6, 7, 8):
     found = False
     for u in users["items"]:
         if u["username"] == ("case%d" % i) and u["email"] == ("case%d@test" % i) and u["uuid"] == by_username[u["username"]]:
             found = True
     assert found
 
+# cases 3, 5, 9 involve users that have never accessed cluster C so
+# there's nothing to migrate.
+for i in (3, 5, 9):
+    found = False
+    for u in users["items"]:
+        if u["username"] == ("case%d" % i) and u["email"] == ("case%d@test" % i) and u["uuid"] == by_username[u["username"]]:
+            found = True
+    assert not found
+
 print("Passed checks")