def test_user_list(self): Database.add_user("token", "Name", "Surname") Database.add_user("token2", "", "") Database.register_ip("token", "1.2.3.4") Database.register_ip("token", "1.2.3.5") res = self.admin_handler.user_list(admin_token="ADMIN-TOKEN", _ip=None) self.assertEqual(2, len(res["items"])) user1 = next(i for i in res["items"] if i["token"] == "token") user2 = next(i for i in res["items"] if i["token"] == "token2") self.assertEqual("token", user1["token"]) self.assertEqual("Name", user1["name"]) self.assertEqual("Surname", user1["surname"]) self.assertEqual(2, len(user1["ip"])) self.assertEqual("token2", user2["token"]) self.assertEqual(0, len(user2["ip"]))
def handle(*args, **kwargs): token = Validators._guess_token(**kwargs) ip = kwargs["_ip"] if token is not None and Database.get_user(token) is not None: if Database.register_ip(token, ip): Logger.info( "LOGIN", "User %s logged in from %s for the first " "time" % (token, ip)) del kwargs["_ip"] return handler(*args, **kwargs)