MINOR - Handle OM connection on DC trigger (#22718)

* MINOR - Handle OM connection on DC trigger

* MINOR - Handle OM connection on DC trigger
This commit is contained in:
Pere Miquel Brull 2025-08-04 06:07:27 +02:00 committed by GitHub
parent 04bc84f855
commit 3b0af3f48f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 25 deletions

View File

@ -495,7 +495,7 @@ public class DataContractRepository extends EntityRepository<DataContract> {
if (!pipeline.getDeployed()) {
prepareAndDeployIngestionPipeline(pipeline, testSuite);
}
pipelineServiceClient.runPipeline(pipeline, testSuite);
prepareAndRunIngestionPipeline(pipeline, testSuite);
}
private void prepareAndDeployIngestionPipeline(IngestionPipeline pipeline, TestSuite testSuite) {
@ -515,6 +515,16 @@ public class DataContractRepository extends EntityRepository<DataContract> {
}
}
private void prepareAndRunIngestionPipeline(IngestionPipeline pipeline, TestSuite testSuite) {
OpenMetadataConnection openMetadataServerConnection =
new OpenMetadataConnectionBuilder(openMetadataApplicationConfig, pipeline).build();
pipeline.setOpenMetadataServerConnection(
SecretsManagerFactory.getSecretsManager()
.encryptOpenMetadataConnection(openMetadataServerConnection, false));
pipelineServiceClient.runPipeline(pipeline, testSuite);
}
private SemanticsValidation validateSemantics(DataContract dataContract) {
SemanticsValidation validation = new SemanticsValidation();
@ -577,31 +587,19 @@ public class DataContractRepository extends EntityRepository<DataContract> {
if (!nullOrEmpty(result.getSchemaValidation())) {
if (result.getSchemaValidation().getFailed() > 0) {
result
.withContractExecutionStatus(ContractExecutionStatus.Failed)
.withResult("Schema validation failed");
result.withContractExecutionStatus(ContractExecutionStatus.Failed);
}
}
if (!nullOrEmpty(result.getSemanticsValidation())) {
if (result.getSemanticsValidation().getFailed() > 0) {
result
.withContractExecutionStatus(ContractExecutionStatus.Failed)
.withResult(
result.getResult() != null
? result.getResult() + "; Semantics validation failed"
: "Semantics validation failed");
result.withContractExecutionStatus(ContractExecutionStatus.Failed);
}
}
if (!nullOrEmpty(result.getQualityValidation())) {
if (result.getQualityValidation().getFailed() > 0) {
result
.withContractExecutionStatus(ContractExecutionStatus.Failed)
.withResult(
result.getResult() != null
? result.getResult() + "; Quality validation failed"
: "Quality validation failed");
result.withContractExecutionStatus(ContractExecutionStatus.Failed);
}
}
}

View File

@ -24,8 +24,6 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
import static org.openmetadata.service.Entity.DATA_CONTRACT;
import static org.openmetadata.service.resources.EntityResourceTest.TEAM11_REF;
import static org.openmetadata.service.resources.EntityResourceTest.USER1_REF;
import static org.openmetadata.service.util.TestUtils.ADMIN_AUTH_HEADERS;
import static org.openmetadata.service.util.TestUtils.LONG_ENTITY_NAME;
import static org.openmetadata.service.util.TestUtils.TEST_AUTH_HEADERS;
@ -2331,7 +2329,6 @@ public class DataContractResourceTest extends EntityResourceTest<DataContract, C
// Verify the validation result shows failure
assertNotNull(result);
assertEquals(ContractExecutionStatus.Failed, result.getContractExecutionStatus());
assertTrue(result.getResult().contains("Semantics validation failed"));
// Verify semantics validation details
assertNotNull(result.getSemanticsValidation());
@ -2349,8 +2346,6 @@ public class DataContractResourceTest extends EntityResourceTest<DataContract, C
DataContractResult latest = getLatestResult(dataContract);
assertNotNull(updatedContract.getLatestResult());
assertEquals(ContractExecutionStatus.Failed, updatedContract.getLatestResult().getStatus());
assertTrue(
updatedContract.getLatestResult().getMessage().contains("Semantics validation failed"));
assertEquals(
result.getId().toString(), updatedContract.getLatestResult().getResultId().toString());
}
@ -2753,9 +2748,6 @@ public class DataContractResourceTest extends EntityResourceTest<DataContract, C
assertEquals(2, finalResult.getSemanticsValidation().getPassed().intValue());
assertEquals(0, finalResult.getSemanticsValidation().getFailed().intValue());
// Verify the result message indicates quality validation failed
assertTrue(finalResult.getResult().contains("Quality validation failed"));
// Verify the DataContract latestResult reflects the final failed validation
DataContract updatedContract = getDataContract(dataContract.getId(), "");
assertNotNull(updatedContract.getLatestResult());
@ -2847,7 +2839,6 @@ public class DataContractResourceTest extends EntityResourceTest<DataContract, C
// Verify the validation result shows failure due to schema validation
assertNotNull(result);
assertEquals(ContractExecutionStatus.Failed, result.getContractExecutionStatus());
assertTrue(result.getResult().contains("Schema validation failed"));
// Verify schema validation details
assertNotNull(result.getSchemaValidation());