@konker.dev/middleware-fp 0.0.17 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +3 -2
- package/dist/contrib/awsApiGatewayProcessor.d.ts +3 -2
- package/dist/contrib/awsApiGatewayProcessor.d.ts.map +1 -0
- package/dist/contrib/awsApiGatewayProcessor.js +12 -39
- package/dist/contrib/awsApiGatewayProcessor.js.map +1 -1
- package/dist/contrib/awsApiGatewayProcessor.test.d.ts +3 -2
- package/dist/contrib/awsApiGatewayProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsApiGatewayProcessor.test.js +25 -49
- package/dist/contrib/awsApiGatewayProcessor.test.js.map +1 -1
- package/dist/contrib/awsIamAuthorizerProcessor.d.ts +2 -1
- package/dist/contrib/awsIamAuthorizerProcessor.d.ts.map +1 -0
- package/dist/contrib/awsIamAuthorizerProcessor.js +9 -35
- package/dist/contrib/awsIamAuthorizerProcessor.js.map +1 -1
- package/dist/contrib/awsIamAuthorizerProcessor.test.d.ts +2 -1
- package/dist/contrib/awsIamAuthorizerProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsIamAuthorizerProcessor.test.js +25 -48
- package/dist/contrib/awsIamAuthorizerProcessor.test.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerProcessor.d.ts +3 -2
- package/dist/contrib/awsSimpleAuthorizerProcessor.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerProcessor.js +6 -32
- package/dist/contrib/awsSimpleAuthorizerProcessor.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.d.ts +3 -2
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.js +24 -47
- package/dist/contrib/awsSimpleAuthorizerProcessor.test.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts +5 -4
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.js +6 -32
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.js.map +1 -1
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.d.ts +7 -6
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.d.ts.map +1 -0
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.js +26 -48
- package/dist/contrib/awsSimpleAuthorizerWithContextProcessor.test.js.map +1 -1
- package/dist/contrib/base64BodyDecoder.d.ts +3 -2
- package/dist/contrib/base64BodyDecoder.d.ts.map +1 -0
- package/dist/contrib/base64BodyDecoder.js +6 -32
- package/dist/contrib/base64BodyDecoder.js.map +1 -1
- package/dist/contrib/base64BodyDecoder.test.d.ts +1 -0
- package/dist/contrib/base64BodyDecoder.test.d.ts.map +1 -0
- package/dist/contrib/base64BodyDecoder.test.js +15 -39
- package/dist/contrib/base64BodyDecoder.test.js.map +1 -1
- package/dist/contrib/basicAuthAuthenticator.d.ts +7 -6
- package/dist/contrib/basicAuthAuthenticator.d.ts.map +1 -0
- package/dist/contrib/basicAuthAuthenticator.js +11 -37
- package/dist/contrib/basicAuthAuthenticator.js.map +1 -1
- package/dist/contrib/basicAuthAuthenticator.test.d.ts +4 -3
- package/dist/contrib/basicAuthAuthenticator.test.d.ts.map +1 -0
- package/dist/contrib/basicAuthAuthenticator.test.js +20 -41
- package/dist/contrib/basicAuthAuthenticator.test.js.map +1 -1
- package/dist/contrib/basicAuthDecoder.d.ts +5 -4
- package/dist/contrib/basicAuthDecoder.d.ts.map +1 -0
- package/dist/contrib/basicAuthDecoder.js +8 -34
- package/dist/contrib/basicAuthDecoder.js.map +1 -1
- package/dist/contrib/basicAuthDecoder.test.d.ts +1 -0
- package/dist/contrib/basicAuthDecoder.test.d.ts.map +1 -0
- package/dist/contrib/basicAuthDecoder.test.js +17 -37
- package/dist/contrib/basicAuthDecoder.test.js.map +1 -1
- package/dist/contrib/bodyValidator.d.ts +5 -4
- package/dist/contrib/bodyValidator.d.ts.map +1 -0
- package/dist/contrib/bodyValidator.js +5 -31
- package/dist/contrib/bodyValidator.js.map +1 -1
- package/dist/contrib/bodyValidator.test.d.ts +4 -3
- package/dist/contrib/bodyValidator.test.d.ts.map +1 -0
- package/dist/contrib/bodyValidator.test.js +13 -37
- package/dist/contrib/bodyValidator.test.js.map +1 -1
- package/dist/contrib/cacheInMemory.d.ts +4 -3
- package/dist/contrib/cacheInMemory.d.ts.map +1 -0
- package/dist/contrib/cacheInMemory.js +13 -39
- package/dist/contrib/cacheInMemory.js.map +1 -1
- package/dist/contrib/cacheInMemory.test.d.ts +1 -0
- package/dist/contrib/cacheInMemory.test.d.ts.map +1 -0
- package/dist/contrib/cacheInMemory.test.js +12 -35
- package/dist/contrib/cacheInMemory.test.js.map +1 -1
- package/dist/contrib/cacheMomento.d.ts +4 -3
- package/dist/contrib/cacheMomento.d.ts.map +1 -0
- package/dist/contrib/cacheMomento.js +10 -36
- package/dist/contrib/cacheMomento.js.map +1 -1
- package/dist/contrib/cacheMomento.test.d.ts +1 -0
- package/dist/contrib/cacheMomento.test.d.ts.map +1 -0
- package/dist/contrib/cacheMomento.test.js +18 -41
- package/dist/contrib/cacheMomento.test.js.map +1 -1
- package/dist/contrib/dynamodbDocClientInit/index.d.ts +4 -3
- package/dist/contrib/dynamodbDocClientInit/index.d.ts.map +1 -0
- package/dist/contrib/dynamodbDocClientInit/index.js +5 -31
- package/dist/contrib/dynamodbDocClientInit/index.js.map +1 -1
- package/dist/contrib/dynamodbDocClientInit/index.test.d.ts +1 -0
- package/dist/contrib/dynamodbDocClientInit/index.test.d.ts.map +1 -0
- package/dist/contrib/dynamodbDocClientInit/index.test.js +13 -36
- package/dist/contrib/dynamodbDocClientInit/index.test.js.map +1 -1
- package/dist/contrib/envValidator.d.ts +5 -4
- package/dist/contrib/envValidator.d.ts.map +1 -0
- package/dist/contrib/envValidator.js +9 -35
- package/dist/contrib/envValidator.js.map +1 -1
- package/dist/contrib/envValidator.test.d.ts +6 -5
- package/dist/contrib/envValidator.test.d.ts.map +1 -0
- package/dist/contrib/envValidator.test.js +13 -37
- package/dist/contrib/envValidator.test.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/index.d.ts +5 -4
- package/dist/contrib/headerSignatureAuthorizer/index.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/index.js +10 -36
- package/dist/contrib/headerSignatureAuthorizer/index.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/index.test.d.ts +4 -3
- package/dist/contrib/headerSignatureAuthorizer/index.test.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/index.test.js +30 -51
- package/dist/contrib/headerSignatureAuthorizer/index.test.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/lib.d.ts +4 -3
- package/dist/contrib/headerSignatureAuthorizer/lib.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.js +6 -31
- package/dist/contrib/headerSignatureAuthorizer/lib.js.map +1 -1
- package/dist/contrib/headerSignatureAuthorizer/lib.test.d.ts +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.d.ts.map +1 -0
- package/dist/contrib/headerSignatureAuthorizer/lib.test.js +19 -40
- package/dist/contrib/headerSignatureAuthorizer/lib.test.js.map +1 -1
- package/dist/contrib/headersNormalizer/index.d.ts +3 -2
- package/dist/contrib/headersNormalizer/index.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/index.js +5 -31
- package/dist/contrib/headersNormalizer/index.js.map +1 -1
- package/dist/contrib/headersNormalizer/index.test.d.ts +5 -4
- package/dist/contrib/headersNormalizer/index.test.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/index.test.js +14 -39
- package/dist/contrib/headersNormalizer/index.test.js.map +1 -1
- package/dist/contrib/headersNormalizer/lib.d.ts +2 -1
- package/dist/contrib/headersNormalizer/lib.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/lib.js +7 -17
- package/dist/contrib/headersNormalizer/lib.js.map +1 -1
- package/dist/contrib/headersNormalizer/lib.test.d.ts +1 -0
- package/dist/contrib/headersNormalizer/lib.test.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/lib.test.js +2 -26
- package/dist/contrib/headersNormalizer/lib.test.js.map +1 -1
- package/dist/contrib/headersNormalizer/types.d.ts +2 -1
- package/dist/contrib/headersNormalizer/types.d.ts.map +1 -0
- package/dist/contrib/headersNormalizer/types.js +1 -2
- package/dist/contrib/headersValidator.d.ts +7 -6
- package/dist/contrib/headersValidator.d.ts.map +1 -0
- package/dist/contrib/headersValidator.js +5 -31
- package/dist/contrib/headersValidator.js.map +1 -1
- package/dist/contrib/headersValidator.test.d.ts +6 -5
- package/dist/contrib/headersValidator.test.d.ts.map +1 -0
- package/dist/contrib/headersValidator.test.js +15 -40
- package/dist/contrib/headersValidator.test.js.map +1 -1
- package/dist/contrib/helmetJsHeaders.d.ts +3 -2
- package/dist/contrib/helmetJsHeaders.d.ts.map +1 -0
- package/dist/contrib/helmetJsHeaders.js +8 -35
- package/dist/contrib/helmetJsHeaders.js.map +1 -1
- package/dist/contrib/helmetJsHeaders.test.d.ts +1 -0
- package/dist/contrib/helmetJsHeaders.test.d.ts.map +1 -0
- package/dist/contrib/helmetJsHeaders.test.js +7 -31
- package/dist/contrib/helmetJsHeaders.test.js.map +1 -1
- package/dist/contrib/identity.d.ts +2 -1
- package/dist/contrib/identity.d.ts.map +1 -0
- package/dist/contrib/identity.js +1 -5
- package/dist/contrib/identity.js.map +1 -1
- package/dist/contrib/identity.test.d.ts +1 -0
- package/dist/contrib/identity.test.d.ts.map +1 -0
- package/dist/contrib/identity.test.js +8 -31
- package/dist/contrib/identity.test.js.map +1 -1
- package/dist/contrib/index.d.ts +27 -26
- package/dist/contrib/index.d.ts.map +1 -0
- package/dist/contrib/index.js +26 -52
- package/dist/contrib/index.js.map +1 -1
- package/dist/contrib/jsonBodyParser.d.ts +3 -2
- package/dist/contrib/jsonBodyParser.d.ts.map +1 -0
- package/dist/contrib/jsonBodyParser.js +9 -35
- package/dist/contrib/jsonBodyParser.js.map +1 -1
- package/dist/contrib/jsonBodyParser.test.d.ts +1 -0
- package/dist/contrib/jsonBodyParser.test.d.ts.map +1 -0
- package/dist/contrib/jsonBodyParser.test.js +11 -34
- package/dist/contrib/jsonBodyParser.test.js.map +1 -1
- package/dist/contrib/jwtAuthenticator.d.ts +8 -7
- package/dist/contrib/jwtAuthenticator.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticator.js +13 -37
- package/dist/contrib/jwtAuthenticator.js.map +1 -1
- package/dist/contrib/jwtAuthenticator.test.d.ts +4 -3
- package/dist/contrib/jwtAuthenticator.test.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticator.test.js +26 -47
- package/dist/contrib/jwtAuthenticator.test.js.map +1 -1
- package/dist/contrib/jwtAuthenticatorRsa.d.ts +8 -7
- package/dist/contrib/jwtAuthenticatorRsa.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticatorRsa.js +13 -37
- package/dist/contrib/jwtAuthenticatorRsa.js.map +1 -1
- package/dist/contrib/jwtAuthenticatorRsa.test.d.ts +4 -3
- package/dist/contrib/jwtAuthenticatorRsa.test.d.ts.map +1 -0
- package/dist/contrib/jwtAuthenticatorRsa.test.js +26 -47
- package/dist/contrib/jwtAuthenticatorRsa.test.js.map +1 -1
- package/dist/contrib/jwtDecoder.d.ts +5 -4
- package/dist/contrib/jwtDecoder.d.ts.map +1 -0
- package/dist/contrib/jwtDecoder.js +8 -34
- package/dist/contrib/jwtDecoder.js.map +1 -1
- package/dist/contrib/jwtDecoder.test.d.ts +1 -0
- package/dist/contrib/jwtDecoder.test.d.ts.map +1 -0
- package/dist/contrib/jwtDecoder.test.js +22 -42
- package/dist/contrib/jwtDecoder.test.js.map +1 -1
- package/dist/contrib/momentoClientInit.d.ts +2 -1
- package/dist/contrib/momentoClientInit.d.ts.map +1 -0
- package/dist/contrib/momentoClientInit.js +4 -30
- package/dist/contrib/momentoClientInit.js.map +1 -1
- package/dist/contrib/momentoClientInit.test.d.ts +1 -0
- package/dist/contrib/momentoClientInit.test.d.ts.map +1 -0
- package/dist/contrib/momentoClientInit.test.js +9 -32
- package/dist/contrib/momentoClientInit.test.js.map +1 -1
- package/dist/contrib/pathParametersValidator.d.ts +5 -4
- package/dist/contrib/pathParametersValidator.d.ts.map +1 -0
- package/dist/contrib/pathParametersValidator.js +5 -31
- package/dist/contrib/pathParametersValidator.js.map +1 -1
- package/dist/contrib/pathParametersValidator.test.d.ts +5 -4
- package/dist/contrib/pathParametersValidator.test.d.ts.map +1 -0
- package/dist/contrib/pathParametersValidator.test.js +14 -38
- package/dist/contrib/pathParametersValidator.test.js.map +1 -1
- package/dist/contrib/pathTokenAuthorizer.d.ts +5 -4
- package/dist/contrib/pathTokenAuthorizer.d.ts.map +1 -0
- package/dist/contrib/pathTokenAuthorizer.js +9 -35
- package/dist/contrib/pathTokenAuthorizer.js.map +1 -1
- package/dist/contrib/pathTokenAuthorizer.test.d.ts +4 -3
- package/dist/contrib/pathTokenAuthorizer.test.d.ts.map +1 -0
- package/dist/contrib/pathTokenAuthorizer.test.js +28 -49
- package/dist/contrib/pathTokenAuthorizer.test.js.map +1 -1
- package/dist/contrib/queryStringValidator.d.ts +5 -4
- package/dist/contrib/queryStringValidator.d.ts.map +1 -0
- package/dist/contrib/queryStringValidator.js +5 -31
- package/dist/contrib/queryStringValidator.js.map +1 -1
- package/dist/contrib/queryStringValidator.test.d.ts +5 -4
- package/dist/contrib/queryStringValidator.test.d.ts.map +1 -0
- package/dist/contrib/queryStringValidator.test.js +14 -38
- package/dist/contrib/queryStringValidator.test.js.map +1 -1
- package/dist/contrib/requestResponseLogger.d.ts +2 -1
- package/dist/contrib/requestResponseLogger.d.ts.map +1 -0
- package/dist/contrib/requestResponseLogger.js +4 -30
- package/dist/contrib/requestResponseLogger.js.map +1 -1
- package/dist/contrib/requestResponseLogger.test.d.ts +1 -0
- package/dist/contrib/requestResponseLogger.test.d.ts.map +1 -0
- package/dist/contrib/requestResponseLogger.test.js +15 -37
- package/dist/contrib/requestResponseLogger.test.js.map +1 -1
- package/dist/contrib/trivial.d.ts +2 -1
- package/dist/contrib/trivial.d.ts.map +1 -0
- package/dist/contrib/trivial.js +10 -36
- package/dist/contrib/trivial.js.map +1 -1
- package/dist/contrib/trivial.test.d.ts +1 -0
- package/dist/contrib/trivial.test.d.ts.map +1 -0
- package/dist/contrib/trivial.test.js +8 -31
- package/dist/contrib/trivial.test.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -2
- package/dist/lib/HttpApiError.d.ts +1 -0
- package/dist/lib/HttpApiError.d.ts.map +1 -0
- package/dist/lib/HttpApiError.js +5 -8
- package/dist/lib/HttpApiError.js.map +1 -1
- package/dist/lib/HttpApiError.test.d.ts +1 -0
- package/dist/lib/HttpApiError.test.d.ts.map +1 -0
- package/dist/lib/HttpApiError.test.js +3 -27
- package/dist/lib/HttpApiError.test.js.map +1 -1
- package/dist/lib/MiddlewareError.d.ts +1 -0
- package/dist/lib/MiddlewareError.d.ts.map +1 -0
- package/dist/lib/MiddlewareError.js +5 -8
- package/dist/lib/MiddlewareError.js.map +1 -1
- package/dist/lib/MiddlewareError.test.d.ts +1 -0
- package/dist/lib/MiddlewareError.test.d.ts.map +1 -0
- package/dist/lib/MiddlewareError.test.js +2 -26
- package/dist/lib/MiddlewareError.test.js.map +1 -1
- package/dist/lib/http.d.ts +25 -23
- package/dist/lib/http.d.ts.map +1 -0
- package/dist/lib/http.js +24 -53
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/http.test.d.ts +1 -0
- package/dist/lib/http.test.d.ts.map +1 -0
- package/dist/lib/http.test.js +13 -36
- package/dist/lib/http.test.js.map +1 -1
- package/dist/test/test-common.d.ts +8 -6
- package/dist/test/test-common.d.ts.map +1 -0
- package/dist/test/test-common.js +9 -37
- package/dist/test/test-common.js.map +1 -1
- package/dist/test/unit/auth-1.test.d.ts +1 -0
- package/dist/test/unit/auth-1.test.d.ts.map +1 -0
- package/dist/test/unit/auth-1.test.js +16 -42
- package/dist/test/unit/auth-1.test.js.map +1 -1
- package/dist/test/unit/auth-2.test.d.ts +1 -0
- package/dist/test/unit/auth-2.test.d.ts.map +1 -0
- package/dist/test/unit/auth-2.test.js +16 -42
- package/dist/test/unit/auth-2.test.js.map +1 -1
- package/dist/test/unit/basic-1.test.d.ts +1 -0
- package/dist/test/unit/basic-1.test.d.ts.map +1 -0
- package/dist/test/unit/basic-1.test.js +15 -38
- package/dist/test/unit/basic-1.test.js.map +1 -1
- package/dist/test/unit/basic-2.test.d.ts +5 -1
- package/dist/test/unit/basic-2.test.d.ts.map +1 -0
- package/dist/test/unit/basic-2.test.js +27 -44
- package/dist/test/unit/basic-2.test.js.map +1 -1
- package/dist/test/unit/basic-3.test.d.ts +1 -0
- package/dist/test/unit/basic-3.test.d.ts.map +1 -0
- package/dist/test/unit/basic-3.test.js +18 -41
- package/dist/test/unit/basic-3.test.js.map +1 -1
- package/dist/test/unit/kitchen-sink.test.d.ts +11 -1
- package/dist/test/unit/kitchen-sink.test.d.ts.map +1 -0
- package/dist/test/unit/kitchen-sink.test.js +45 -57
- package/dist/test/unit/kitchen-sink.test.js.map +1 -1
- package/package.json +202 -51
|
@@ -1,37 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
1
|
+
import { pipe, Schema } from 'effect';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
|
|
4
|
+
import * as M from '../../contrib/index.js';
|
|
5
|
+
const CORRECT_TEST_PATH_TOKEN_VALUE = 'test-token-value';
|
|
6
|
+
const TEST_SECRET_TOKEN_ENV_NAME = 'test-secret-token-env-name';
|
|
7
|
+
const Env = Schema.Struct({
|
|
8
|
+
MOMENTO_AUTH_TOKEN: Schema.String,
|
|
17
9
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const M = __importStar(require("../../contrib"));
|
|
29
|
-
const pathTokenAuthorizer_test_1 = require("../../contrib/pathTokenAuthorizer.test");
|
|
30
|
-
const Env = P.Schema.Struct({
|
|
31
|
-
MOMENTO_AUTH_TOKEN: P.Schema.String,
|
|
32
|
-
});
|
|
33
|
-
const Headers = P.Schema.Struct({
|
|
34
|
-
'content-type': P.Schema.String,
|
|
10
|
+
const Headers = Schema.Struct({
|
|
11
|
+
'content-type': Schema.String,
|
|
35
12
|
});
|
|
36
13
|
describe('basic test 1', () => {
|
|
37
14
|
let oldEnv;
|
|
@@ -39,7 +16,7 @@ describe('basic test 1', () => {
|
|
|
39
16
|
oldEnv = process.env;
|
|
40
17
|
process.env = {
|
|
41
18
|
MOMENTO_AUTH_TOKEN: 'TEST_MOMENTO_AUTH_TOKEN',
|
|
42
|
-
[
|
|
19
|
+
[TEST_SECRET_TOKEN_ENV_NAME]: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
43
20
|
};
|
|
44
21
|
});
|
|
45
22
|
afterAll(() => {
|
|
@@ -47,7 +24,7 @@ describe('basic test 1', () => {
|
|
|
47
24
|
});
|
|
48
25
|
it('should work as expected', async () => {
|
|
49
26
|
function echoCore(i) {
|
|
50
|
-
return
|
|
27
|
+
return Effect.succeed({
|
|
51
28
|
statusCode: 200,
|
|
52
29
|
headers: { 'content-type': 'application/json; charset=UTF-8' },
|
|
53
30
|
multiValueHeaders: {},
|
|
@@ -58,7 +35,7 @@ describe('basic test 1', () => {
|
|
|
58
35
|
},
|
|
59
36
|
});
|
|
60
37
|
}
|
|
61
|
-
const stack =
|
|
38
|
+
const stack = pipe(echoCore, M.headersValidator.middleware(Headers), M.headersNormalizer.middleware(), M.envValidator.middleware(Env), M.awsApiGatewayProcessor.middleware(), M.requestResponseLogger.middleware());
|
|
62
39
|
const actual1 = stack({
|
|
63
40
|
version: 'string',
|
|
64
41
|
routeKey: 'string',
|
|
@@ -73,12 +50,12 @@ describe('basic test 1', () => {
|
|
|
73
50
|
body: '{ "foo": "abc", "bar": 123, "baz": true }',
|
|
74
51
|
pathParameters: {
|
|
75
52
|
id: 'test-id',
|
|
76
|
-
pathToken:
|
|
53
|
+
pathToken: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
77
54
|
},
|
|
78
55
|
isBase64Encoded: false,
|
|
79
56
|
// stageVariables?: {},
|
|
80
57
|
});
|
|
81
|
-
await expect(
|
|
58
|
+
await expect(Effect.runPromise(actual1)).resolves.toStrictEqual({
|
|
82
59
|
body: '{"foo":"TEST_MOMENTO_AUTH_TOKEN","h":"APPLICATION/JSON; CHARSET=UTF-8"}',
|
|
83
60
|
headers: {
|
|
84
61
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-1.test.js","sourceRoot":"","sources":["../../../src/test/unit/basic-1.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"basic-1.test.js","sourceRoot":"","sources":["../../../src/test/unit/basic-1.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { JwtVerificationConfigRsa } from '@konker.dev/tiny-auth-utils-fp/jwt/rsa';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
export declare const JWT_AUTHENTICATOR_RSA_TEST_DEPS: JwtVerificationConfigRsa;
|
|
4
|
+
export declare const mockJwtAuthenticatorRsaDeps: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, JwtVerificationConfigRsa>>;
|
|
5
|
+
//# sourceMappingURL=basic-2.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-2.test.d.ts","sourceRoot":"","sources":["../../../src/test/unit/basic-2.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAMvF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,eAAO,MAAM,+BAA+B,EAAE,wBAG5C,CAAC;AAEH,eAAO,MAAM,2BAA2B,sGAGvC,CAAC"}
|
|
@@ -1,41 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
1
|
+
import { TEST_JWT_NOW_MS } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/jwt';
|
|
2
|
+
import { TEST_RSA_KEY_PUBLIC } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/test-jwt-rsa-keys';
|
|
3
|
+
import { TEST_TOKEN_RSA } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/test-jwt-tokens-rsa';
|
|
4
|
+
import { pipe, Schema } from 'effect';
|
|
5
|
+
import * as Effect from 'effect/Effect';
|
|
6
|
+
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
|
|
7
|
+
import * as M from '../../contrib/index.js';
|
|
8
|
+
import * as unit from '../../contrib/jwtAuthenticatorRsa.js';
|
|
9
|
+
const CORRECT_TEST_PATH_TOKEN_VALUE = 'test-token-value';
|
|
10
|
+
const TEST_SECRET_TOKEN_ENV_NAME = 'test-secret-token-env-name';
|
|
11
|
+
export const JWT_AUTHENTICATOR_RSA_TEST_DEPS = unit.JwtAuthenticatorRsaDeps.of({
|
|
12
|
+
rsaPublicKey: TEST_RSA_KEY_PUBLIC,
|
|
13
|
+
issuer: 'test-iss',
|
|
17
14
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const jwt_1 = require("@konker.dev/tiny-auth-utils-fp/dist/test/fixtures/jwt");
|
|
29
|
-
const test_jwt_tokens_rsa_1 = require("@konker.dev/tiny-auth-utils-fp/dist/test/fixtures/test-jwt-tokens-rsa");
|
|
30
|
-
const M = __importStar(require("../../contrib"));
|
|
31
|
-
const jwtAuthenticatorRsa_test_1 = require("../../contrib/jwtAuthenticatorRsa.test");
|
|
32
|
-
const pathTokenAuthorizer_test_1 = require("../../contrib/pathTokenAuthorizer.test");
|
|
33
|
-
const Env = P.Schema.Struct({
|
|
34
|
-
MOMENTO_AUTH_TOKEN: P.Schema.String,
|
|
15
|
+
export const mockJwtAuthenticatorRsaDeps = Effect.provideService(unit.JwtAuthenticatorRsaDeps, JWT_AUTHENTICATOR_RSA_TEST_DEPS);
|
|
16
|
+
const Env = Schema.Struct({
|
|
17
|
+
MOMENTO_AUTH_TOKEN: Schema.String,
|
|
35
18
|
});
|
|
36
|
-
const Headers =
|
|
37
|
-
'content-type':
|
|
38
|
-
authorization:
|
|
19
|
+
const Headers = Schema.Struct({
|
|
20
|
+
'content-type': Schema.String,
|
|
21
|
+
authorization: Schema.String,
|
|
39
22
|
});
|
|
40
23
|
describe('basic test 2', () => {
|
|
41
24
|
let oldEnv;
|
|
@@ -43,17 +26,17 @@ describe('basic test 2', () => {
|
|
|
43
26
|
oldEnv = process.env;
|
|
44
27
|
process.env = {
|
|
45
28
|
MOMENTO_AUTH_TOKEN: 'TEST_MOMENTO_AUTH_TOKEN',
|
|
46
|
-
[
|
|
29
|
+
[TEST_SECRET_TOKEN_ENV_NAME]: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
47
30
|
};
|
|
48
|
-
|
|
31
|
+
vi.spyOn(Date, 'now').mockReturnValue(TEST_JWT_NOW_MS);
|
|
49
32
|
});
|
|
50
33
|
afterAll(() => {
|
|
51
|
-
|
|
34
|
+
vi.restoreAllMocks();
|
|
52
35
|
process.env = oldEnv;
|
|
53
36
|
});
|
|
54
37
|
it('should work as expected', async () => {
|
|
55
38
|
function echoCore(i) {
|
|
56
|
-
return
|
|
39
|
+
return Effect.succeed({
|
|
57
40
|
statusCode: 200,
|
|
58
41
|
headers: { 'content-type': 'application/json; charset=UTF-8' },
|
|
59
42
|
multiValueHeaders: {},
|
|
@@ -65,7 +48,7 @@ describe('basic test 2', () => {
|
|
|
65
48
|
},
|
|
66
49
|
});
|
|
67
50
|
}
|
|
68
|
-
const stack =
|
|
51
|
+
const stack = pipe(echoCore, M.jwtAuthenticatorRsa.middleware(), M.headersValidator.middleware(Headers), M.headersNormalizer.middleware(), M.envValidator.middleware(Env), M.awsApiGatewayProcessor.middleware(), M.requestResponseLogger.middleware());
|
|
69
52
|
const actual1 = stack({
|
|
70
53
|
version: 'string',
|
|
71
54
|
routeKey: 'string',
|
|
@@ -74,7 +57,7 @@ describe('basic test 2', () => {
|
|
|
74
57
|
// cookies?: [],
|
|
75
58
|
headers: {
|
|
76
59
|
'content-type': 'application/json; charset=UTF-8',
|
|
77
|
-
authorization: `Bearer ${
|
|
60
|
+
authorization: `Bearer ${TEST_TOKEN_RSA}`,
|
|
78
61
|
},
|
|
79
62
|
queryStringParameters: {
|
|
80
63
|
q: 'wtf',
|
|
@@ -83,12 +66,12 @@ describe('basic test 2', () => {
|
|
|
83
66
|
body: '{ "foo": "abc", "bar": 123, "baz": true }',
|
|
84
67
|
pathParameters: {
|
|
85
68
|
id: 'test-id',
|
|
86
|
-
pathToken:
|
|
69
|
+
pathToken: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
87
70
|
},
|
|
88
71
|
isBase64Encoded: false,
|
|
89
72
|
// stageVariables?: {},
|
|
90
73
|
});
|
|
91
|
-
await expect(
|
|
74
|
+
await expect(Effect.runPromise(pipe(actual1, mockJwtAuthenticatorRsaDeps))).resolves.toStrictEqual({
|
|
92
75
|
body: '{"foo":"TEST_MOMENTO_AUTH_TOKEN","h":"APPLICATION/JSON; CHARSET=UTF-8","u":"test-sub"}',
|
|
93
76
|
headers: {
|
|
94
77
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-2.test.js","sourceRoot":"","sources":["../../../src/test/unit/basic-2.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"basic-2.test.js","sourceRoot":"","sources":["../../../src/test/unit/basic-2.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,kEAAkE,CAAC;AAElG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEvE,OAAO,KAAK,CAAC,MAAM,wBAAwB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,sCAAsC,CAAC;AAG7D,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AACzD,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AAEhE,MAAM,CAAC,MAAM,+BAA+B,GAA6B,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACvG,YAAY,EAAE,mBAAmB;IACjC,MAAM,EAAE,UAAU;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,cAAc,CAC9D,IAAI,CAAC,uBAAuB,EAC5B,+BAA+B,CAChC,CAAC;AAEF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM;CAClC,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC,MAAM;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM;CAC7B,CAAC,CAAC;AAQH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,MAAyB,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG;YACZ,kBAAkB,EAAE,yBAAyB;YAC7C,CAAC,0BAA0B,CAAC,EAAE,6BAA6B;SAC5D,CAAC;QACF,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,SAAS,QAAQ,CAAC,CAAY;YAC5B,OAAO,MAAM,CAAC,OAAO,CAAC;gBACpB,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;gBAC9D,iBAAiB,EAAE,EAAE;gBACrB,eAAe,EAAE,KAAK;gBACtB,IAAI,EAAE;oBACJ,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB;oBACtC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;oBAC1C,CAAC,EAAE,CAAC,CAAC,MAAM;iBACZ;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAChB,QAAQ,EACR,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAClC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EACtC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAChC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,EACrC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CACrC,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,CAAC;YACpB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;YACjB,cAAc,EAAE,QAAQ;YACxB,gBAAgB;YAChB,OAAO,EAAE;gBACP,cAAc,EAAE,iCAAiC;gBACjD,aAAa,EAAE,UAAU,cAAc,EAAE;aAC1C;YACD,qBAAqB,EAAE;gBACrB,CAAC,EAAE,KAAK;aACT;YACD,cAAc,EAAE,EAAS;YACzB,IAAI,EAAE,2CAA2C;YACjD,cAAc,EAAE;gBACd,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,6BAA6B;aACzC;YACD,eAAe,EAAE,KAAK;YACtB,uBAAuB;SACxB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACjG,IAAI,EAAE,wFAAwF;YAC9F,OAAO,EAAE;gBACP,cAAc,EAAE,iCAAiC;aAClD;YACD,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-3.test.d.ts","sourceRoot":"","sources":["../../../src/test/unit/basic-3.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,39 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
1
|
+
import { TEST_TOKEN } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/test-jwt-tokens';
|
|
2
|
+
import { pipe, Schema } from 'effect';
|
|
3
|
+
import * as Effect from 'effect/Effect';
|
|
4
|
+
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
|
|
5
|
+
import * as M from '../../contrib/index.js';
|
|
6
|
+
const CORRECT_TEST_PATH_TOKEN_VALUE = 'test-token-value';
|
|
7
|
+
const TEST_SECRET_TOKEN_ENV_NAME = 'test-secret-token-env-name';
|
|
8
|
+
const Env = Schema.Struct({
|
|
9
|
+
MOMENTO_AUTH_TOKEN: Schema.String,
|
|
17
10
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const test_jwt_tokens_1 = require("@konker.dev/tiny-auth-utils-fp/dist/test/fixtures/test-jwt-tokens");
|
|
29
|
-
const M = __importStar(require("../../contrib"));
|
|
30
|
-
const pathTokenAuthorizer_test_1 = require("../../contrib/pathTokenAuthorizer.test");
|
|
31
|
-
const Env = P.Schema.Struct({
|
|
32
|
-
MOMENTO_AUTH_TOKEN: P.Schema.String,
|
|
33
|
-
});
|
|
34
|
-
const Headers = P.Schema.Struct({
|
|
35
|
-
'content-type': P.Schema.String,
|
|
36
|
-
authorization: P.Schema.String,
|
|
11
|
+
const Headers = Schema.Struct({
|
|
12
|
+
'content-type': Schema.String,
|
|
13
|
+
authorization: Schema.String,
|
|
37
14
|
});
|
|
38
15
|
describe('basic test 3', () => {
|
|
39
16
|
let oldEnv;
|
|
@@ -41,7 +18,7 @@ describe('basic test 3', () => {
|
|
|
41
18
|
oldEnv = process.env;
|
|
42
19
|
process.env = {
|
|
43
20
|
MOMENTO_AUTH_TOKEN: 'TEST_MOMENTO_AUTH_TOKEN',
|
|
44
|
-
[
|
|
21
|
+
[TEST_SECRET_TOKEN_ENV_NAME]: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
45
22
|
};
|
|
46
23
|
});
|
|
47
24
|
afterAll(() => {
|
|
@@ -49,7 +26,7 @@ describe('basic test 3', () => {
|
|
|
49
26
|
});
|
|
50
27
|
it('should work as expected', async () => {
|
|
51
28
|
function echoCore(i) {
|
|
52
|
-
return
|
|
29
|
+
return Effect.succeed({
|
|
53
30
|
statusCode: 200,
|
|
54
31
|
headers: { 'content-type': 'application/json; charset=UTF-8' },
|
|
55
32
|
multiValueHeaders: {},
|
|
@@ -61,7 +38,7 @@ describe('basic test 3', () => {
|
|
|
61
38
|
},
|
|
62
39
|
});
|
|
63
40
|
}
|
|
64
|
-
const stack =
|
|
41
|
+
const stack = pipe(echoCore, M.jwtDecoder.middleware(), M.headersValidator.middleware(Headers), M.headersNormalizer.middleware(), M.envValidator.middleware(Env), M.awsApiGatewayProcessor.middleware(), M.requestResponseLogger.middleware());
|
|
65
42
|
const actual1 = stack({
|
|
66
43
|
version: 'string',
|
|
67
44
|
routeKey: 'string',
|
|
@@ -70,7 +47,7 @@ describe('basic test 3', () => {
|
|
|
70
47
|
// cookies?: [],
|
|
71
48
|
headers: {
|
|
72
49
|
'content-type': 'application/json; charset=UTF-8',
|
|
73
|
-
authorization: `Bearer ${
|
|
50
|
+
authorization: `Bearer ${TEST_TOKEN}`,
|
|
74
51
|
},
|
|
75
52
|
queryStringParameters: {
|
|
76
53
|
q: 'wtf',
|
|
@@ -79,12 +56,12 @@ describe('basic test 3', () => {
|
|
|
79
56
|
body: '{ "foo": "abc", "bar": 123, "baz": true }',
|
|
80
57
|
pathParameters: {
|
|
81
58
|
id: 'test-id',
|
|
82
|
-
pathToken:
|
|
59
|
+
pathToken: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
83
60
|
},
|
|
84
61
|
isBase64Encoded: false,
|
|
85
62
|
// stageVariables?: {},
|
|
86
63
|
});
|
|
87
|
-
await expect(
|
|
64
|
+
await expect(Effect.runPromise(pipe(actual1))).resolves.toStrictEqual({
|
|
88
65
|
body: '{"foo":"TEST_MOMENTO_AUTH_TOKEN","h":"APPLICATION/JSON; CHARSET=UTF-8","u":"test-sub"}',
|
|
89
66
|
headers: {
|
|
90
67
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-3.test.js","sourceRoot":"","sources":["../../../src/test/unit/basic-3.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"basic-3.test.js","sourceRoot":"","sources":["../../../src/test/unit/basic-3.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import type { JwtVerificationConfig } from '@konker.dev/tiny-auth-utils-fp/jwt';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import * as M from '../../contrib/index.js';
|
|
4
|
+
import { PathTokenAuthorizerDeps } from '../../contrib/pathTokenAuthorizer.js';
|
|
5
|
+
export declare const CORRECT_TEST_PATH_TOKEN_VALUE = "test-token-value";
|
|
6
|
+
export declare const TEST_SECRET_TOKEN_ENV_NAME = "test-secret-token-env-name";
|
|
7
|
+
export declare const JWT_AUTHENTICATOR_TEST_DEPS: JwtVerificationConfig;
|
|
8
|
+
export declare const mockJwtAuthenticatorDeps: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, JwtVerificationConfig>>;
|
|
9
|
+
export declare const PATH_TOKEN_AUTHORIZER_TEST_DEPS: PathTokenAuthorizerDeps;
|
|
10
|
+
export declare const mockPathTokenAuthorizerDeps: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, M.pathTokenAuthorizer.PathTokenAuthorizerDeps>>;
|
|
11
|
+
//# sourceMappingURL=kitchen-sink.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kitchen-sink.test.d.ts","sourceRoot":"","sources":["../../../src/test/unit/kitchen-sink.test.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAWhF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,CAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,eAAO,MAAM,6BAA6B,qBAAqB,CAAC;AAChE,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,eAAO,MAAM,2BAA2B,EAAE,qBAGxC,CAAC;AAEH,eAAO,MAAM,wBAAwB,mGAAgF,CAAC;AAEtH,eAAO,MAAM,+BAA+B,EAAE,uBAG5C,CAAC;AAEH,eAAO,MAAM,2BAA2B,2HAGvC,CAAC"}
|
|
@@ -1,57 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { defaultDynamoDBDocumentClientFactoryDeps } from '@konker.dev/aws-client-effect-dynamodb/lib/client';
|
|
2
|
+
import { mockMomentoClientFactoryDeps } from '@konker.dev/momento-cache-client-effect/lib/test';
|
|
3
|
+
import { TEST_JWT_ISS, TEST_JWT_NOW_MS, TEST_JWT_SIGNING_SECRET, } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/jwt';
|
|
4
|
+
import { TEST_TOKEN } from '@konker.dev/tiny-auth-utils-fp/test/fixtures/test-jwt-tokens';
|
|
5
|
+
import { JsonHashCacheKeyResolver } from '@konker.dev/tiny-cache-fp/lib/CacheKeyResolver/JsonHashCacheKeyResolver';
|
|
6
|
+
import { MomentoStringCacheJson } from '@konker.dev/tiny-cache-fp/momento/MomentoStringCacheJson';
|
|
7
|
+
import { pipe, Schema } from 'effect';
|
|
8
|
+
import * as Effect from 'effect/Effect';
|
|
9
|
+
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
|
|
10
|
+
import * as M from '../../contrib/index.js';
|
|
11
|
+
import * as unit from '../../contrib/jwtAuthenticator.js';
|
|
12
|
+
import { PathTokenAuthorizerDeps } from '../../contrib/pathTokenAuthorizer.js';
|
|
13
|
+
export const CORRECT_TEST_PATH_TOKEN_VALUE = 'test-token-value';
|
|
14
|
+
export const TEST_SECRET_TOKEN_ENV_NAME = 'test-secret-token-env-name';
|
|
15
|
+
export const JWT_AUTHENTICATOR_TEST_DEPS = unit.JwtAuthenticatorDeps.of({
|
|
16
|
+
signingSecret: TEST_JWT_SIGNING_SECRET,
|
|
17
|
+
issuer: TEST_JWT_ISS,
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
27
|
-
const P = __importStar(require("@konker.dev/effect-ts-prelude"));
|
|
28
|
-
const client_1 = require("@konker.dev/aws-client-effect-dynamodb/dist/lib/client");
|
|
29
|
-
const test_1 = require("@konker.dev/momento-cache-client-effect/dist/lib/test");
|
|
30
|
-
const jwt_1 = require("@konker.dev/tiny-auth-utils-fp/dist/test/fixtures/jwt");
|
|
31
|
-
const test_jwt_tokens_1 = require("@konker.dev/tiny-auth-utils-fp/dist/test/fixtures/test-jwt-tokens");
|
|
32
|
-
const JsonHashCacheKeyResolver_1 = require("@konker.dev/tiny-cache-fp/dist/lib/CacheKeyResolver/JsonHashCacheKeyResolver");
|
|
33
|
-
const MomentoStringCacheJson_1 = require("@konker.dev/tiny-cache-fp/dist/momento/MomentoStringCacheJson");
|
|
34
|
-
const M = __importStar(require("../../contrib"));
|
|
35
|
-
const jwtAuthenticator_test_1 = require("../../contrib/jwtAuthenticator.test");
|
|
36
|
-
const pathTokenAuthorizer_test_1 = require("../../contrib/pathTokenAuthorizer.test");
|
|
37
|
-
const Body = P.Schema.Struct({
|
|
38
|
-
foo: P.Schema.String,
|
|
39
|
-
bar: P.Schema.Number,
|
|
40
|
-
baz: P.Schema.Boolean,
|
|
19
|
+
export const mockJwtAuthenticatorDeps = Effect.provideService(unit.JwtAuthenticatorDeps, JWT_AUTHENTICATOR_TEST_DEPS);
|
|
20
|
+
export const PATH_TOKEN_AUTHORIZER_TEST_DEPS = PathTokenAuthorizerDeps.of({
|
|
21
|
+
secretTokenEnvName: TEST_SECRET_TOKEN_ENV_NAME,
|
|
22
|
+
pathParamName: 'pathToken',
|
|
41
23
|
});
|
|
42
|
-
const
|
|
43
|
-
|
|
24
|
+
export const mockPathTokenAuthorizerDeps = Effect.provideService(PathTokenAuthorizerDeps, PATH_TOKEN_AUTHORIZER_TEST_DEPS);
|
|
25
|
+
const Body = Schema.Struct({
|
|
26
|
+
foo: Schema.String,
|
|
27
|
+
bar: Schema.Number,
|
|
28
|
+
baz: Schema.Boolean,
|
|
44
29
|
});
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
authorization: P.Schema.String,
|
|
30
|
+
const Env = Schema.Struct({
|
|
31
|
+
MOMENTO_AUTH_TOKEN: Schema.String,
|
|
48
32
|
});
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
33
|
+
const Headers = Schema.Struct({
|
|
34
|
+
'content-type': Schema.String,
|
|
35
|
+
authorization: Schema.String,
|
|
52
36
|
});
|
|
53
|
-
const
|
|
54
|
-
|
|
37
|
+
const PathParams = Schema.Struct({
|
|
38
|
+
id: Schema.String,
|
|
39
|
+
pathToken: Schema.String,
|
|
40
|
+
});
|
|
41
|
+
const QueryParams = Schema.Struct({
|
|
42
|
+
q: Schema.String,
|
|
55
43
|
});
|
|
56
44
|
describe('kitchen sink', () => {
|
|
57
45
|
let oldEnv;
|
|
@@ -60,18 +48,18 @@ describe('kitchen sink', () => {
|
|
|
60
48
|
oldEnv = process.env;
|
|
61
49
|
process.env = {
|
|
62
50
|
MOMENTO_AUTH_TOKEN: 'TEST_MOMENTO_AUTH_TOKEN',
|
|
63
|
-
[
|
|
51
|
+
[TEST_SECRET_TOKEN_ENV_NAME]: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
64
52
|
};
|
|
65
|
-
|
|
53
|
+
vi.spyOn(Date, 'now').mockReturnValue(TEST_JWT_NOW_MS);
|
|
66
54
|
__cache = {};
|
|
67
55
|
});
|
|
68
56
|
afterAll(() => {
|
|
69
|
-
|
|
57
|
+
vi.restoreAllMocks();
|
|
70
58
|
process.env = oldEnv;
|
|
71
59
|
});
|
|
72
60
|
it('should work as expected', async () => {
|
|
73
61
|
function echoCore(i) {
|
|
74
|
-
return
|
|
62
|
+
return Effect.succeed({
|
|
75
63
|
statusCode: 200,
|
|
76
64
|
headers: { 'content-type': 'application/json; charset=UTF-8' },
|
|
77
65
|
multiValueHeaders: {},
|
|
@@ -87,7 +75,7 @@ describe('kitchen sink', () => {
|
|
|
87
75
|
},
|
|
88
76
|
});
|
|
89
77
|
}
|
|
90
|
-
const stack =
|
|
78
|
+
const stack = pipe(echoCore, M.dynamodbDocClientInit.middleware({ region: 'eu-west-1' }), M.bodyValidator.middleware(Body), M.jsonBodyParser.middleware(), M.base64BodyDecoder.middleware(), M.jwtAuthenticator.middleware(), M.headersValidator.middleware(Headers), M.headersNormalizer.middleware(), M.helmetJsHeaders.middleware(), M.queryStringValidator.middleware(QueryParams), M.pathTokenAuthorizer.middleware(), M.pathParametersValidator.middleware(PathParams), M.identity.middleware(), M.trivial.middleware(), M.awsApiGatewayProcessor.middleware(), M.requestResponseLogger.middleware(), M.cacheInMemory.middleware(JsonHashCacheKeyResolver()), M.cacheMomento.middleware(JsonHashCacheKeyResolver(), MomentoStringCacheJson()), M.momentoClientInit.middleware({}), M.envValidator.middleware(Env));
|
|
91
79
|
const actual1 = stack({
|
|
92
80
|
version: 'string',
|
|
93
81
|
routeKey: 'string',
|
|
@@ -96,7 +84,7 @@ describe('kitchen sink', () => {
|
|
|
96
84
|
// cookies?: [],
|
|
97
85
|
headers: {
|
|
98
86
|
'content-type': 'application/json; charset=UTF-8',
|
|
99
|
-
authorization: `Bearer ${
|
|
87
|
+
authorization: `Bearer ${TEST_TOKEN}`,
|
|
100
88
|
},
|
|
101
89
|
queryStringParameters: {
|
|
102
90
|
q: 'wtf',
|
|
@@ -105,12 +93,12 @@ describe('kitchen sink', () => {
|
|
|
105
93
|
body: '{ "foo": "abc", "bar": 123, "baz": true }',
|
|
106
94
|
pathParameters: {
|
|
107
95
|
id: 'test-id',
|
|
108
|
-
pathToken:
|
|
96
|
+
pathToken: CORRECT_TEST_PATH_TOKEN_VALUE,
|
|
109
97
|
},
|
|
110
98
|
isBase64Encoded: false,
|
|
111
99
|
// stageVariables?: {},
|
|
112
100
|
});
|
|
113
|
-
await expect(
|
|
101
|
+
await expect(Effect.runPromise(pipe(actual1, defaultDynamoDBDocumentClientFactoryDeps, mockMomentoClientFactoryDeps(__cache), mockPathTokenAuthorizerDeps, mockJwtAuthenticatorDeps))).resolves.toStrictEqual({
|
|
114
102
|
statusCode: 200,
|
|
115
103
|
headers: {
|
|
116
104
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kitchen-sink.test.js","sourceRoot":"","sources":["../../../src/test/unit/kitchen-sink.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kitchen-sink.test.js","sourceRoot":"","sources":["../../../src/test/unit/kitchen-sink.test.ts"],"names":[],"mappings":"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"}
|