-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: adding zod validations #3066
Conversation
Important Auto Review SkippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the To trigger a single review, invoke the WalkthroughThe overall changes focus on enhancing data processing and validation for destinations and processors within a codebase, specifically targeting improvements in handling batch requests, refining data types, and ensuring robust error handling. Additionally, the updates introduce more structured and comprehensive testing data for destinations like Klaviyo, MP, and The Trade Desk, aiming to improve test coverage and reliability. These changes collectively aim to streamline data transformation processes and improve the maintainability and readability of the code and tests. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
@coderabbitai review |
}) | ||
.refine( | ||
(data) => { | ||
if (!isHttpStatusSuccess(data.statusCode)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
repeated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 10
Configuration used: CodeRabbit UI
Files selected for processing (15)
- src/services/destination/postTransformation.ts (1 hunks)
- src/types/index.ts (3 hunks)
- src/types/zodTypes.ts (2 hunks)
- test/integrations/destinations/klaviyo/processor/ecomTestData.ts (8 hunks)
- test/integrations/destinations/klaviyo/processor/groupTestData.ts (6 hunks)
- test/integrations/destinations/klaviyo/processor/identifyTestData.ts (21 hunks)
- test/integrations/destinations/klaviyo/processor/screenTestData.ts (3 hunks)
- test/integrations/destinations/klaviyo/processor/trackTestData.ts (10 hunks)
- test/integrations/destinations/klaviyo/processor/validationTestData.ts (4 hunks)
- test/integrations/destinations/klaviyo/router/data.ts (6 hunks)
- test/integrations/destinations/mp/common.ts (2 hunks)
- test/integrations/destinations/mp/router/data.ts (10 hunks)
- test/integrations/destinations/the_trade_desk/common.ts (2 hunks)
- test/integrations/testTypes.ts (2 hunks)
- test/integrations/testUtils.ts (12 hunks)
Additional comments: 21
test/integrations/destinations/mp/common.ts (1)
- 1-10: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-24]
LGTM!
test/integrations/testTypes.ts (1)
- 57-102: LGTM!
test/integrations/destinations/klaviyo/processor/validationTestData.ts (1)
- 1-26: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-77]
LGTM!
test/integrations/destinations/the_trade_desk/common.ts (1)
- 1-15: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-31]
LGTM!
test/integrations/destinations/klaviyo/processor/screenTestData.ts (1)
- 1-30: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-110]
LGTM!
test/integrations/destinations/klaviyo/processor/groupTestData.ts (1)
- 1-27: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-153]
LGTM!
src/types/index.ts (1)
- 162-178: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-174]
LGTM!
src/types/zodTypes.ts (1)
- 5-107: LGTM!
src/services/destination/postTransformation.ts (1)
- 78-84: LGTM!
test/integrations/destinations/klaviyo/processor/trackTestData.ts (1)
- 1-29: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-334]
LGTM!
test/integrations/destinations/klaviyo/processor/ecomTestData.ts (3)
- 1-1: The import of
generateMetadata
aligns with the PR's objective to enhance test case reliability through metadata generation.- 5-20: The explicit type definition for
destination
usingDestination
and the addition ofEnabled
andWorkspaceID
fields improve type safety and clarity.- 77-83: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [42-357]
The addition of
metadata
to test data objects with calls togenerateMetadata
is consistent with the PR's goal to support more accurate and reliable testing through enhanced metadata generation.test/integrations/destinations/klaviyo/router/data.ts (2)
- 23-179: Refactoring message data into the
routerRequest
object enhances code readability and maintainability by centralizing request data.- 324-336: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [181-364]
The integration of
routerRequest
into the test data and the use ofgenerateMetadata
for generating metadata are consistent with the PR's objectives to improve test case reliability and accuracy.test/integrations/destinations/klaviyo/processor/identifyTestData.ts (2)
- 11-26: The explicit type definition for
destination
usingDestination
and the addition ofEnabled
andWorkspaceID
fields improve type safety and clarity.- 304-314: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [98-579]
The modifications to
identifyData
to include explicit type annotations, the use ofoverrideDestination
for specific configurations, and the addition ofmetadata
with calls togenerateMetadata
align with the PR's goal to enhance test case reliability through type support and metadata generation.test/integrations/testUtils.ts (4)
- 9-20: The addition of imports for Zod schemas and types such as
Destination
andMetadata
supports the PR's objectives of enhancing test case reliability through type definitions and validations.- 95-95: The
overrideDestination
function signature correctly uses theDestination
type, ensuring type safety.- 478-489: The addition of Zod validation for
RouterTransformationResponseListSchema
andProcessorTransformationResponseListSchema
invalidateTestWithZOD
aligns with the PR's goal to ensure test cases adhere to expected structures through schema validations.- 516-524: The introduction of the
generateMetadata
helper function supports the generation of metadata for test cases, further aligning with the PR's objectives.
…to feat.zod-validations
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/3066/test-report.html |
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## fix.network-handlers #3066 +/- ##
========================================================
+ Coverage 87.13% 87.27% +0.14%
========================================================
Files 531 538 +7
Lines 28860 29322 +462
Branches 6865 6978 +113
========================================================
+ Hits 25148 25592 +444
- Misses 3369 3387 +18
Partials 343 343 ☔ View full report in Codecov by Sentry. |
* feat: update proxy data type for response handler input * feat: update proxy v1 test cases * feat: update proxy tests for cm360 Added new structure for proxy test scnearios for cm360 also added zod validations as part of tests * fix: typo * Update test/integrations/destinations/campaign_manager/dataDelivery/business.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update test/integrations/destinations/campaign_manager/dataDelivery/business.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: api contract for v1 proxy * chore: clean up zod type * chore: update testutils * chore: update V0 proxy request type and zod schema * feat: adding zod validations (#3066) * feat: add type definitions for test cases * fix: update networkHandler for rakuten --------- Co-authored-by: Utsab Chowdhury <[email protected]> * chore: update delivery test cases for criteo audience * Revert "chore: update delivery test cases for criteo audience" This reverts commit 689b0cd. * chore: add type def for proxy v1 test * chore: fix generateMetdata func * chore: criteo audience update proxy test (#3068) * chore: update delivery test cases for criteo audience * chore: enable batch response schema check (#3083) * chore: reddit proxy test refactor * chore: code review changes --------- Co-authored-by: Utsab Chowdhury <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Utsab Chowdhury <[email protected]> Co-authored-by: ItsSudip <[email protected]> Co-authored-by: Sudip Paul <[email protected]> Co-authored-by: chandumlg <[email protected]>
* feat: update proxy data type for response handler input * feat: update proxy v1 test cases * feat: update proxy tests for cm360 Added new structure for proxy test scnearios for cm360 also added zod validations as part of tests * fix: typo * Update test/integrations/destinations/campaign_manager/dataDelivery/business.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update test/integrations/destinations/campaign_manager/dataDelivery/business.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: api contract for v1 proxy * chore: clean up zod type * chore: update testutils * chore: update V0 proxy request type and zod schema * feat: adding zod validations (#3066) * feat: add type definitions for test cases * fix: update networkHandler for rakuten --------- Co-authored-by: Utsab Chowdhury <[email protected]> * chore: update delivery test cases for criteo audience * Revert "chore: update delivery test cases for criteo audience" This reverts commit 689b0cd. * chore: add type def for proxy v1 test * chore: fix generateMetdata func * chore: criteo audience update proxy test (#3068) * chore: update delivery test cases for criteo audience * chore: enable batch response schema check (#3083) * chore: fb_custom_audience v1 tests * chore: fb_custom_audience v1 tests * chore: fb_custom_audience v1 tests * chore: braze proxy v1 test (#3087) * chore: refactor braze proxy v1 tests * chore: address review comments and cleanup * chore: cleanup of mock --------- Co-authored-by: Utsab Chowdhury <[email protected]> * chore: fb_custom_audience v1 tests * chore: fb_custom_audience v1 tests * chore: fb_custom_audience v1 tests * chore: fb_custom_audience v1 tests * chore: updated tests --------- Co-authored-by: Utsab Chowdhury <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Utsab Chowdhury <[email protected]> Co-authored-by: ItsSudip <[email protected]> Co-authored-by: Sudip Paul <[email protected]> Co-authored-by: chandumlg <[email protected]>
* feat: update proxy data type for response handler input * feat: update proxy v1 test cases * feat: update proxy tests for cm360 Added new structure for proxy test scnearios for cm360 also added zod validations as part of tests * fix: typo * Update test/integrations/destinations/campaign_manager/dataDelivery/business.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update test/integrations/destinations/campaign_manager/dataDelivery/business.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: api contract for v1 proxy * chore: clean up zod type * chore: update testutils * chore: update V0 proxy request type and zod schema * feat: adding zod validations (#3066) * feat: add type definitions for test cases * fix: update networkHandler for rakuten --------- Co-authored-by: Utsab Chowdhury <[email protected]> * chore: update delivery test cases for criteo audience * Revert "chore: update delivery test cases for criteo audience" This reverts commit 689b0cd. * chore: add initial business tests * chore: add type def for proxy v1 test * chore: fix generateMetdata func * chore: cleanup * chore: add other scenario test, refactor * chore: address commentsx1 * chore: move test to other * chore: address commentsx2 --------- Co-authored-by: Utsab Chowdhury <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Utsab Chowdhury <[email protected]> Co-authored-by: ItsSudip <[email protected]>
What are the changes introduced in this PR?
This PR introduces
zod
validations forprocessor
androuter
test cases. Adding type definitions for the test cases and validations for tests. This eliminates incorrect tests and helps in keeping server <> transformer contract safeWhat is the related Linear task?
Resolves INT-1443
Please explain the objectives of your changes below
The objective of the change is to enable devs write tests more confidently with type support system helping them.
N/A
Any new dependencies introduced with this change?
N/A
Any new generic utility introduced or modified. Please explain the changes.
N/A
Any technical or performance related pointers to consider with the change?
N/A
Developer checklist
My code follows the style guidelines of this project
No breaking changes are being introduced.
All related docs linked with the PR?
All changes manually tested?
Any documentation changes needed with this change?
Is the PR limited to 10 file changes?
Is the PR limited to one linear task?
Are relevant unit and component test-cases added?
Reviewer checklist
Is the type of change in the PR title appropriate as per the changes?
Verified that there are no credentials or confidential data exposed with the changes.
Summary by CodeRabbit