FIX - Merge contract w/ terms of service#25876
Conversation
🔍 CI failure analysis for 4089783: The CI failures are unrelated to this PR's data contract changes. Tests failing in Glossary, Settings, and other features show pre-existing flakiness, not issues from the import/export fix.IssuePlaywright E2E test suite failed with 2 hard failures and 9 flaky tests. Root CauseThe failures are NOT related to this PR's changes. This PR only modifies data contract import/export functionality in three files:
The failing tests are in completely different feature areas:
DetailsCommon failure patterns indicate test infrastructure instability:
Importantly, all 643 passing tests include the new data contract tests added in this PR, confirming the changes work correctly. Code Review ✅ ApprovedClean, well-targeted fix for termsOfUse type mismatch during contract merge. The string-to-object conversion is correct, preserves existing properties, and handles edge cases. Both unit and E2E tests are thorough and follow existing patterns. Tip Comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
|



Describe your changes:
Clean the process of create -> export -> import (merge) with ToS
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
termsOfUsefield conversion from object to string format caused incorrect JSON Patch operationstermsOfUsevalues back to entity object format{content, inherited}before generating patch operationstermsOfUseobject and only updating thecontentfield/termsOfUse/contentpath) and E2E test covering full create → export → import → verify workflowDataContractentity (object-typedtermsOfUse) andCreateDataContractAPI (string-typedtermsOfUse) during OpenMetadata format imports