小编Sak*_*dow的帖子

使用 Apollo Server (apollo-server) 上的executeOperation 获取标头以进行集成测试

自从弃用以来,apollo-server-testing我正在使用与 apollo-server 进行集成测试的新方法(包含在 apollo-server 2.25.0 中)。从突变登录中,我在 OutgoingMessage 标头(在 中'Set-Cookie')中设置了刷新令牌。

简化的解析器

    @Mutation(() => RefreshTokenOutput)
    async refreshToken(@Ctx() { response, contextRefreshToken }: Context): Promise<RefreshTokenOutput> {
        if (contextRefreshToken) {
            const { accessToken, refreshToken } = await this.authService.refreshToken(contextRefreshToken);
            response.setHeader(
                'Set-Cookie',
                cookie.serialize('refreshToken', refreshToken, {
                    httpOnly: true,
                    maxAge: maxAge,
                    secure: true,
                })
            );
            return { accessToken: accessToken };
        } else {
            throw new AuthenticationError();
        }
    }
Run Code Online (Sandbox Code Playgroud)

测试用例

            // given:
            const { user, clearPassword } = await userLoader.createUser16c();
            const input = new …
Run Code Online (Sandbox Code Playgroud)

apollo graphql apollo-server

5
推荐指数
1
解决办法
2785
查看次数

标签 统计

apollo ×1

apollo-server ×1

graphql ×1