예제 #1
0
    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))
예제 #2
0
    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"])
예제 #3
0
    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))
예제 #4
0
    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))