def test_refresh_token_success(self): """刷新成功 """ app_secret = "secret" app = App(user=self.current_user, name="fortest", app_secret=app_secret) self.db.add(app) self.db.commit() app_id = str(str(app.app_id)) resp = self.api_post("/app_token", body={ "app_id": app_id, "app_secret": app_secret, }) body = get_body_json(resp) refresh_token = body["data"]["refresh_token"] resp = self.api_post("/app_token/refresh", body={ "app_id": app_id, "refresh_token": refresh_token, }) self.assertEqual(resp.code, 200) self.validate_default_success(body) spec = self.rs.post_token_refresh.op_spec["responses"]["200"]["schema"] api.validate_object(spec, body) data = body["data"] payload = decode_token(data["access_token"]) self.assertEqual(payload["uid"], str(self.current_user.uuid))
def test_gen_token(self): """gen_token """ user = User(username="******", password="******") self.db.add(user) self.db.commit() expires_in = datetime.datetime.utcnow() + datetime.timedelta( seconds=int(settings.APP_ACCESS_TOKEN_AGE)) tok = gen_token(user, expired=expires_in) payload = decode_token(tok) self.assertEqual(str(user.uuid), payload["uid"])
def test_get_token_success(self): """获取 token 成功 """ resp = self.api_post("/token", body={ "username": self.current_username, "password": self.current_password, }) body = get_body_json(resp) self.assertEqual(resp.code, 200) self.validate_default_success(body) spec = self.rs.post_token.op_spec["responses"]["200"]["schema"] api.validate_object(spec, body) data = body["data"] payload = decode_token(data["access_token"]) self.assertEqual(payload["uid"], str(self.current_user.uuid))
def test_get_token_success(self): """获取 token 成功 """ username = "******" resp = self.api_post("/user", body={"username": username}) body = get_body_json(resp) self.assertEqual(resp.code, 200) self.validate_default_success(body) resp = self.api_post("/open_token", body={"username": username}) body = get_body_json(resp) self.assertEqual(resp.code, 200) self.validate_default_success(body) spec = self.rs.post_open_token.op_spec["responses"]["200"]["schema"] api.validate_object(spec, body) user = self.db.query(User).filter_by(username=username).first() data = body["data"] payload = decode_token(data["access_token"]) self.assertEqual(payload["uid"], str(user.uuid))