|
1 | 1 | import fastify, { FastifyInstance } from 'fastify';
|
2 |
| -import * as fastifyOauth2 from '.'; |
| 2 | +import fastifyOauth2, { OAuth2Namespace, ProviderConfiguration, Credentials, OAuth2Token } from '.'; |
3 | 3 | import { expectType, expectError, expectAssignable } from 'tsd';
|
4 | 4 | import { Server, IncomingMessage, ServerResponse } from 'http';
|
5 | 5 |
|
@@ -34,66 +34,66 @@ server.register(fastifyOauth2, OAuth2Options);
|
34 | 34 | declare module 'fastify' {
|
35 | 35 | // Developers need to define this in their code like they have to do with all decorators.
|
36 | 36 | interface FastifyInstance {
|
37 |
| - testOAuthName: fastifyOauth2.OAuth2Namespace; |
| 37 | + testOAuthName: OAuth2Namespace; |
38 | 38 | }
|
39 | 39 | }
|
40 | 40 |
|
41 | 41 | /**
|
42 | 42 | * Actual testing.
|
43 | 43 | */
|
44 |
| -expectType<fastifyOauth2.ProviderConfiguration>(auth); |
| 44 | +expectType<ProviderConfiguration>(auth); |
45 | 45 | expectType<string[]>(scope);
|
46 | 46 | expectType<string[]>(tags);
|
47 |
| -expectType<fastifyOauth2.Credentials>(credentials); |
| 47 | +expectType<Credentials>(credentials); |
48 | 48 |
|
49 | 49 | expectError(fastifyOauth2()); // error because missing required arguments
|
50 | 50 | expectError(fastifyOauth2(server, {}, () => {})); // error because missing required options
|
51 | 51 |
|
52 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.FACEBOOK_CONFIGURATION); |
53 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.GITHUB_CONFIGURATION); |
54 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.GOOGLE_CONFIGURATION); |
55 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.LINKEDIN_CONFIGURATION); |
56 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.MICROSOFT_CONFIGURATION); |
57 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.SPOTIFY_CONFIGURATION); |
58 |
| -expectAssignable<fastifyOauth2.ProviderConfiguration>(fastifyOauth2.VKONTAKTE_CONFIGURATION); |
| 52 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.FACEBOOK_CONFIGURATION); |
| 53 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.GITHUB_CONFIGURATION); |
| 54 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.GOOGLE_CONFIGURATION); |
| 55 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.LINKEDIN_CONFIGURATION); |
| 56 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.MICROSOFT_CONFIGURATION); |
| 57 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.SPOTIFY_CONFIGURATION); |
| 58 | +expectAssignable<ProviderConfiguration>(fastifyOauth2.VKONTAKTE_CONFIGURATION); |
59 | 59 |
|
60 | 60 | server.get('/testOauth/callback', async request => {
|
61 |
| - expectType<fastifyOauth2.OAuth2Namespace>(server.testOAuthName); |
| 61 | + expectType<OAuth2Namespace>(server.testOAuthName); |
62 | 62 |
|
63 |
| - expectType<fastifyOauth2.OAuth2Token>(await server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request)); |
64 |
| - expectType<Promise<fastifyOauth2.OAuth2Token>>(server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request)); |
| 63 | + expectType<OAuth2Token>(await server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request)); |
| 64 | + expectType<Promise<OAuth2Token>>(server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request)); |
65 | 65 | expectType<void>(
|
66 |
| - server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request, (t: fastifyOauth2.OAuth2Token): void => {}), |
| 66 | + server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request, (err: any, t: OAuth2Token): void => {}), |
67 | 67 | );
|
68 | 68 |
|
69 | 69 | expectError<void>(await server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request)); // error because Promise should not return void
|
70 |
| - expectError<fastifyOauth2.OAuth2Token>( |
71 |
| - server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request, (t: fastifyOauth2.OAuth2Token): void => {}), |
| 70 | + expectError<OAuth2Token>( |
| 71 | + server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request, (err: any, t: OAuth2Token): void => {}), |
72 | 72 | ); // error because non-Promise function call should return void and have a callback argument
|
73 | 73 | expectError<void>(server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request)); // error because function call does not pass a callback as second argument.
|
74 | 74 |
|
75 | 75 | const token = await server.testOAuthName.getAccessTokenFromAuthorizationCodeFlow(request);
|
76 | 76 | if (token.refresh_token) {
|
77 |
| - expectType<fastifyOauth2.OAuth2Token>( |
| 77 | + expectType<OAuth2Token>( |
78 | 78 | await server.testOAuthName.getNewAccessTokenUsingRefreshToken(token.refresh_token, {}),
|
79 | 79 | );
|
80 |
| - expectType<Promise<fastifyOauth2.OAuth2Token>>( |
| 80 | + expectType<Promise<OAuth2Token>>( |
81 | 81 | server.testOAuthName.getNewAccessTokenUsingRefreshToken(token.refresh_token, {}),
|
82 | 82 | );
|
83 | 83 | expectType<void>(
|
84 | 84 | server.testOAuthName.getNewAccessTokenUsingRefreshToken(
|
85 | 85 | token.refresh_token,
|
86 | 86 | {},
|
87 |
| - (t: fastifyOauth2.OAuth2Token): void => {}, |
| 87 | + (err: any, t: OAuth2Token): void => { }, |
88 | 88 | ),
|
89 | 89 | );
|
90 | 90 |
|
91 | 91 | expectError<void>(await server.testOAuthName.getNewAccessTokenUsingRefreshToken(token.refresh_token, {})); // error because Promise should not return void
|
92 |
| - expectError<fastifyOauth2.OAuth2Token>( |
| 92 | + expectError<OAuth2Token>( |
93 | 93 | server.testOAuthName.getNewAccessTokenUsingRefreshToken(
|
94 | 94 | token.refresh_token,
|
95 | 95 | {},
|
96 |
| - (t: fastifyOauth2.OAuth2Token): void => {}, |
| 96 | + (err: any, t: OAuth2Token): void => { }, |
97 | 97 | ),
|
98 | 98 | ); // error because non-Promise function call should return void and have a callback argument
|
99 | 99 | expectError<void>(server.testOAuthName.getNewAccessTokenUsingRefreshToken(token.refresh_token, {})); // error because function call does not pass a callback as second argument.
|
|
0 commit comments