def test_02_get_user_identifiers(self): user = User(login="******", realm=self.realm1) (uid, rtype, resolvername) = user.get_user_identifiers() self.assertTrue(uid == "0", uid) self.assertTrue(rtype == "passwdresolver", rtype) self.assertTrue(resolvername == self.resolvername1, resolvername)
def test_02_get_user_identifiers(self): user = User(login="******", realm=self.realm1) (uid, rtype, resolvername) = user.get_user_identifiers() self.assertTrue(uid == "0", uid) self.assertTrue(rtype == "passwdresolver", rtype) self.assertTrue(resolvername == self.resolvername1, resolvername)
def test_02_get_user_identifiers(self): # create user by login user = User(login="******", realm=self.realm1) (uid, rtype, resolvername) = user.get_user_identifiers() self.assertEqual("0", uid) self.assertEqual("passwdresolver", rtype) self.assertEqual(self.resolvername1, resolvername) self.assertEqual(user.realm_id, 1) # create user by uid. fail, since the resolver is missing self.assertRaises(UserError, User, realm=self.realm1, uid="0") # create user by uid. user2 = User(realm=self.realm1, resolver=self.resolvername1, uid="0") (uid, rtype, resolvername) = user2.get_user_identifiers() self.assertEqual("root", user2.login) self.assertEqual("passwdresolver", rtype) self.assertEqual(self.resolvername1, resolvername) self.assertEqual(user.realm_id, 1)
def test_03_get_identifiers(self): # create realm self._create_realm() # delete user_cache r = delete_user_cache() self.assertTrue(r >= 0) # The username is not in the cache. It is fetched from the resolver # At the same time the cache is filled. Implicitly we test the # _get_resolvers! user = User(self.username, self.realm1, self.resolvername1) uids = user.get_user_identifiers() self.assertEqual(user.login, self.username) self.assertEqual(user.uid, self.uid) # Now, the cache should have exactly one entry entry = UserCache.query.one() self.assertEqual(entry.user_id, self.uid) self.assertEqual(entry.username, self.username) self.assertEqual(entry.resolver, self.resolvername1) ts = entry.timestamp # delete the resolver, which also purges the cache self._delete_realm() # manually re-add the entry from above UserCache(self.username, self.username, self.resolvername1, self.uid, ts).save() # the username is fetched from the cache u_name = get_username(self.uid, self.resolvername1) self.assertEqual(u_name, self.username) # The `User` class also fetches the UID from the cache user2 = User(self.username, self.realm1, self.resolvername1) self.assertEqual(user2.uid, self.uid) # delete the cache r = delete_user_cache() # try to fetch the username. It is not in the cache and the # resolver does not exist anymore. u_name = get_username(self.uid, self.resolvername1) self.assertEqual(u_name, "") # similar case for the `User` class # The `User` class also tries to fetch the UID from the cache with self.assertRaises(UserError): user3 = User(self.username, self.realm1, self.resolvername1)
def test_03_get_identifiers(self): # create realm self._create_realm() # delete user_cache r = delete_user_cache() self.assertTrue(r >= 0) # The username is not in the cache. It is fetched from the resolver # At the same time the cache is filled. Implicitly we test the # _get_resolvers! user = User(self.username, self.realm1, self.resolvername1) uids = user.get_user_identifiers() self.assertEqual(user.login, self.username) self.assertEqual(user.uid, self.uid) # Now, the cache should have exactly one entry entry = UserCache.query.one() self.assertEqual(entry.user_id, self.uid) self.assertEqual(entry.username, self.username) self.assertEqual(entry.resolver, self.resolvername1) # delete the resolver, which also purges the cache self._delete_realm() # manually re-add the entry from above UserCache(entry.username, entry.resolver, entry.user_id, entry.timestamp).save() # the username is fetched from the cache u_name = get_username(self.uid, self.resolvername1) self.assertEqual(u_name, self.username) # The `User` class also fetches the UID from the cache user2 = User(self.username, self.realm1, self.resolvername1) self.assertEqual(user2.uid, self.uid) # delete the cache r = delete_user_cache() # try to fetch the username. It is not in the cache and the # resolver does not exist anymore. u_name = get_username(self.uid, self.resolvername1) self.assertEqual(u_name, "") # similar case for the `User` class # The `User` class also tries to fetch the UID from the cache with self.assertRaises(UserError): user3 = User(self.username, self.realm1, self.resolvername1)