Skip to content

Commit 9ffc85f

Browse files
committed
refactor: optimize test case resolution status cleanup
1 parent e4ffe5c commit 9ffc85f

4 files changed

Lines changed: 8 additions & 19 deletions

File tree

openmetadata-integration-tests/src/test/java/org/openmetadata/it/tests/TestCaseResourceIT.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4460,9 +4460,10 @@ void test_testCaseDeleteCleanup(TestNamespace ns) {
44604460
relationships.stream()
44614461
.filter(r -> r.getType().equals(Entity.TEST_CASE_RESOLUTION_STATUS))
44624462
.count();
4463-
assertTrue(
4464-
statusCount >= 3,
4465-
"There should be at least 3 relationships to resolution statuses before delete");
4463+
assertEquals(
4464+
3,
4465+
statusCount,
4466+
"There should be exactly 3 relationships to resolution statuses before delete");
44664467

44674468
// 4. Hard delete the test case
44684469
java.util.Map<String, String> params = new java.util.HashMap<>();

openmetadata-service/src/main/java/org/openmetadata/service/Entity.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -773,8 +773,10 @@ public static void deleteEntity(
773773
String updatedBy, String entityType, UUID entityId, boolean recursive, boolean hardDelete) {
774774
if (entityType.equalsIgnoreCase(Entity.TEST_CASE_RESOLUTION_STATUS)
775775
|| entityType.equalsIgnoreCase(Entity.TEST_CASE_RESULT)) {
776-
// TimeSeries entities are cleaned up via entitySpecificCleanup,
777-
// not through the standard repository delete flow.
776+
LOG.debug(
777+
"Skipping delete for time-series entity {} with id {} (handled via cleanup)",
778+
entityType,
779+
entityId);
778780
return;
779781
}
780782
EntityRepository<?> dao = getEntityRepository(entityType);

openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseRepository.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -894,10 +894,6 @@ private void updateLogicalTestSuite(UUID testSuiteId) {
894894
@Override
895895
protected void entitySpecificCleanup(TestCase entityInterface) {
896896
deleteAllTestCaseResults(entityInterface.getFullyQualifiedName());
897-
TestCaseResolutionStatusRepository testCaseResolutionStatusRepository =
898-
(TestCaseResolutionStatusRepository)
899-
Entity.getEntityTimeSeriesRepository(Entity.TEST_CASE_RESOLUTION_STATUS);
900-
testCaseResolutionStatusRepository.deleteAllRelationshipsByTestCase(entityInterface.getId());
901897
}
902898

903899
private void deleteAllTestCaseResults(String fqn) {

openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseResolutionStatusRepository.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -236,16 +236,6 @@ public void storeInternal(
236236
recordEntity.withTestCaseReference(testCaseReference);
237237
}
238238

239-
public void deleteAllRelationshipsByTestCase(UUID testCaseId) {
240-
daoCollection
241-
.relationshipDAO()
242-
.deleteFrom(
243-
testCaseId,
244-
Entity.TEST_CASE,
245-
Relationship.PARENT_OF.ordinal(),
246-
Entity.TEST_CASE_RESOLUTION_STATUS);
247-
}
248-
249239
@Override
250240
protected void storeRelationship(TestCaseResolutionStatus recordEntity) {
251241
addRelationship(

0 commit comments

Comments
 (0)