From 49774b9213af76ebf9da96c9bfd707a60eebe9b2 Mon Sep 17 00:00:00 2001 From: Volodymyr Kulynii Date: Thu, 11 Jun 2020 17:52:09 +0300 Subject: [PATCH 1/4] test: test sanitize params lifecycle --- test/index.test.ts | 84 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/test/index.test.ts b/test/index.test.ts index 51a9982..3c00012 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -653,6 +653,10 @@ describe('HipThrusTS', () => { c: testConstants.cReturned, }; + const testOutputForSanitizers = { + c: testConstants.cReturned, + }; + return { left: { [stage]: leftProjector, @@ -662,6 +666,7 @@ describe('HipThrusTS', () => { } as Record, testInput, testOutput, + testOutputForSanitizers, }; } @@ -678,6 +683,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitize params test', async () => { + const lifecycleStage = 'sanitizeParams'; + await HTPipeTest( + HTPipe( + fullyCoveredCaseTest(lifecycleStage).left, + fullyCoveredCaseTest(lifecycleStage).right + ), + lifecycleStage, + fullyCoveredCaseTest(lifecycleStage).testInput, + fullyCoveredCaseTest(lifecycleStage).testOutputForSanitizers, + true + ); + }); it('attachData test sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -765,6 +783,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeParams test', async () => { + const lifecycleStage = 'sanitizeParams'; + await HTPipeTest( + HTPipe( + transformedTypeCaseTest(lifecycleStage).left, + transformedTypeCaseTest(lifecycleStage).right + ), + lifecycleStage, + transformedTypeCaseTest(lifecycleStage).testInput, + transformedTypeCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -946,6 +977,23 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeParams should give error in this case because of his filtration functionality test', () => { + async function expectErrorWithHTPipe() { + const lifecycleStage = 'sanitizeParams'; + await HTPipeTest( + // @ts-expect-error + HTPipe( + notCoveredCaseTest(lifecycleStage).left, + notCoveredCaseTest(lifecycleStage).right + ), + lifecycleStage, + notCoveredCaseTest(lifecycleStage).testInput, + notCoveredCaseTest(lifecycleStage).testOutput, + // @ts-expect-error + true + ); + } + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1025,6 +1073,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeParams test', async () => { + const lifecycleStage = 'sanitizeParams'; + await HTPipeTest( + HTPipe( + leftOnlyCaseTest(lifecycleStage).left, + leftOnlyCaseTest(lifecycleStage).right + ), + lifecycleStage, + leftOnlyCaseTest(lifecycleStage).testInput, + leftOnlyCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1104,6 +1165,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeParams test', async () => { + const lifecycleStage = 'sanitizeParams'; + await HTPipeTest( + HTPipe( + rightOnlyCaseTest(lifecycleStage).left, + rightOnlyCaseTest(lifecycleStage).right + ), + lifecycleStage, + rightOnlyCaseTest(lifecycleStage).testInput, + rightOnlyCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1170,6 +1244,16 @@ describe('HipThrusTS', () => { ); } }); + it('sanitizeParams test', async () => { + const lifecycleStage = 'sanitizeParams'; + function expectErrorWithHTPipe() { + // @ts-expect-error + const pipedError = HTPipe( + errorCaseTest(lifecycleStage).left, + errorCaseTest(lifecycleStage).right + ); + } + }); it('attachData sync', async () => { it('no attaches data when left sync outputs have type mismatch with right inputs', () => { const lifecycleStage = 'attachData'; From 7c8734983b9c36d13e8323245c91d611f1e88dc9 Mon Sep 17 00:00:00 2001 From: Volodymyr Kulynii Date: Thu, 11 Jun 2020 18:06:52 +0300 Subject: [PATCH 2/4] test: test sanitizeQueryParams lifecycle --- test/index.test.ts | 70 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/test/index.test.ts b/test/index.test.ts index 3c00012..d51b73f 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -696,6 +696,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitize query params test', async () => { + const lifecycleStage = 'sanitizeQueryParams'; + await HTPipeTest( + HTPipe( + fullyCoveredCaseTest(lifecycleStage).left, + fullyCoveredCaseTest(lifecycleStage).right + ), + lifecycleStage, + fullyCoveredCaseTest(lifecycleStage).testInput, + fullyCoveredCaseTest(lifecycleStage).testOutputForSanitizers, + true + ); + }); it('attachData test sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -796,6 +809,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeQueryParams test', async () => { + const lifecycleStage = 'sanitizeQueryParams'; + await HTPipeTest( + HTPipe( + transformedTypeCaseTest(lifecycleStage).left, + transformedTypeCaseTest(lifecycleStage).right + ), + lifecycleStage, + transformedTypeCaseTest(lifecycleStage).testInput, + transformedTypeCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -994,6 +1020,23 @@ describe('HipThrusTS', () => { ); } }); + it('sanitizeQueryParams should give error in this case because of his filtration functionality test', () => { + async function expectErrorWithHTPipe() { + const lifecycleStage = 'sanitizeQueryParams'; + await HTPipeTest( + // @ts-expect-error + HTPipe( + notCoveredCaseTest(lifecycleStage).left, + notCoveredCaseTest(lifecycleStage).right + ), + lifecycleStage, + notCoveredCaseTest(lifecycleStage).testInput, + notCoveredCaseTest(lifecycleStage).testOutput, + // @ts-expect-error + true + ); + } + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1086,6 +1129,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeQueryParams test', async () => { + const lifecycleStage = 'sanitizeQueryParams'; + await HTPipeTest( + HTPipe( + leftOnlyCaseTest(lifecycleStage).left, + leftOnlyCaseTest(lifecycleStage).right + ), + lifecycleStage, + leftOnlyCaseTest(lifecycleStage).testInput, + leftOnlyCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1165,8 +1221,8 @@ describe('HipThrusTS', () => { true ); }); - it('sanitizeParams test', async () => { - const lifecycleStage = 'sanitizeParams'; + it('sanitizeQueryParams test', async () => { + const lifecycleStage = 'sanitizeQueryParams'; await HTPipeTest( HTPipe( rightOnlyCaseTest(lifecycleStage).left, @@ -1254,6 +1310,16 @@ describe('HipThrusTS', () => { ); } }); + it('sanitizeQueryParams test', async () => { + const lifecycleStage = 'sanitizeQueryParams'; + function expectErrorWithHTPipe() { + // @ts-expect-error + const pipedError = HTPipe( + errorCaseTest(lifecycleStage).left, + errorCaseTest(lifecycleStage).right + ); + } + }); it('attachData sync', async () => { it('no attaches data when left sync outputs have type mismatch with right inputs', () => { const lifecycleStage = 'attachData'; From 8f8468a399b03b844864873d9787c9661011f1d3 Mon Sep 17 00:00:00 2001 From: Volodymyr Kulynii Date: Thu, 11 Jun 2020 18:18:11 +0300 Subject: [PATCH 3/4] refactor: restor removed test --- test/index.test.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/index.test.ts b/test/index.test.ts index d51b73f..cf7b1c0 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -1221,6 +1221,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeParams test', async () => { + const lifecycleStage = 'sanitizeParams'; + await HTPipeTest( + HTPipe( + rightOnlyCaseTest(lifecycleStage).left, + rightOnlyCaseTest(lifecycleStage).right + ), + lifecycleStage, + rightOnlyCaseTest(lifecycleStage).testInput, + rightOnlyCaseTest(lifecycleStage).testOutput, + true + ); + }); it('sanitizeQueryParams test', async () => { const lifecycleStage = 'sanitizeQueryParams'; await HTPipeTest( From 8bc07cc9448af24380685df5d345ab0399537b34 Mon Sep 17 00:00:00 2001 From: Volodymyr Kulynii Date: Thu, 11 Jun 2020 18:19:50 +0300 Subject: [PATCH 4/4] test: test sanitize body lifecycle --- test/index.test.ts | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/test/index.test.ts b/test/index.test.ts index cf7b1c0..18dc860 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -709,6 +709,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitize body test', async () => { + const lifecycleStage = 'sanitizeBody'; + await HTPipeTest( + HTPipe( + fullyCoveredCaseTest(lifecycleStage).left, + fullyCoveredCaseTest(lifecycleStage).right + ), + lifecycleStage, + fullyCoveredCaseTest(lifecycleStage).testInput, + fullyCoveredCaseTest(lifecycleStage).testOutputForSanitizers, + true + ); + }); it('attachData test sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -822,6 +835,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeBody test', async () => { + const lifecycleStage = 'sanitizeBody'; + await HTPipeTest( + HTPipe( + transformedTypeCaseTest(lifecycleStage).left, + transformedTypeCaseTest(lifecycleStage).right + ), + lifecycleStage, + transformedTypeCaseTest(lifecycleStage).testInput, + transformedTypeCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1037,6 +1063,23 @@ describe('HipThrusTS', () => { ); } }); + it('sanitizeBody should give error in this case because of his filtration functionality test', () => { + async function expectErrorWithHTPipe() { + const lifecycleStage = 'sanitizeBody'; + await HTPipeTest( + // @ts-expect-error + HTPipe( + notCoveredCaseTest(lifecycleStage).left, + notCoveredCaseTest(lifecycleStage).right + ), + lifecycleStage, + notCoveredCaseTest(lifecycleStage).testInput, + notCoveredCaseTest(lifecycleStage).testOutput, + // @ts-expect-error + true + ); + } + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1142,6 +1185,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeBody test', async () => { + const lifecycleStage = 'sanitizeBody'; + await HTPipeTest( + HTPipe( + leftOnlyCaseTest(lifecycleStage).left, + leftOnlyCaseTest(lifecycleStage).right + ), + lifecycleStage, + leftOnlyCaseTest(lifecycleStage).testInput, + leftOnlyCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1247,6 +1303,19 @@ describe('HipThrusTS', () => { true ); }); + it('sanitizeBody test', async () => { + const lifecycleStage = 'sanitizeBody'; + await HTPipeTest( + HTPipe( + rightOnlyCaseTest(lifecycleStage).left, + rightOnlyCaseTest(lifecycleStage).right + ), + lifecycleStage, + rightOnlyCaseTest(lifecycleStage).testInput, + rightOnlyCaseTest(lifecycleStage).testOutput, + true + ); + }); it('attachData sync', async () => { const lifecycleStage = 'attachData'; await HTPipeTest( @@ -1333,6 +1402,16 @@ describe('HipThrusTS', () => { ); } }); + it('sanitizeBody test', async () => { + const lifecycleStage = 'sanitizeBody'; + function expectErrorWithHTPipe() { + // @ts-expect-error + const pipedError = HTPipe( + errorCaseTest(lifecycleStage).left, + errorCaseTest(lifecycleStage).right + ); + } + }); it('attachData sync', async () => { it('no attaches data when left sync outputs have type mismatch with right inputs', () => { const lifecycleStage = 'attachData';