Update test conn definition on initialize (#11940)

This commit is contained in:
Pere Miquel Brull 2023-06-09 14:06:55 +02:00 committed by GitHub
parent e858eae87a
commit 20ebe70d9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 12 deletions

View File

@ -16,7 +16,7 @@ import org.openmetadata.service.util.EntityUtil;
*/
public class TestConnectionDefinitionRepository extends EntityRepository<TestConnectionDefinition> {
private static final String UPDATE_FIELDS = "";
private static final String UPDATE_FIELDS = "steps";
private static final String PATCH_FIELDS = "";
public TestConnectionDefinitionRepository(CollectionDAO dao) {
@ -72,6 +72,18 @@ public class TestConnectionDefinitionRepository extends EntityRepository<TestCon
@Override
public EntityUpdater getUpdater(
TestConnectionDefinition original, TestConnectionDefinition updated, Operation operation) {
return null;
return new TestConnectionDefinitionUpdater(original, updated, operation);
}
public class TestConnectionDefinitionUpdater extends EntityUpdater {
public TestConnectionDefinitionUpdater(
TestConnectionDefinition original, TestConnectionDefinition updated, Operation operation) {
super(original, updated, operation);
}
@Override
public void entitySpecificUpdate() throws IOException {
recordChange("steps", original.getSteps(), updated.getSteps(), true);
}
}
}

View File

@ -37,7 +37,6 @@ import org.openmetadata.service.jdbi3.TestConnectionDefinitionRepository;
import org.openmetadata.service.resources.Collection;
import org.openmetadata.service.resources.EntityResource;
import org.openmetadata.service.security.Authorizer;
import org.openmetadata.service.util.EntityUtil;
import org.openmetadata.service.util.RestUtil;
import org.openmetadata.service.util.ResultList;
@ -70,13 +69,12 @@ public class TestConnectionDefinitionResource
List<TestConnectionDefinition> testConnectionDefinitions =
repository.getEntitiesFromSeedData(".*json/data/testConnections/.*\\.json$");
for (TestConnectionDefinition testConnectionDefinition :
repository.listAll(EntityUtil.Fields.EMPTY_FIELDS, new ListFilter(Include.ALL))) {
repository.delete(ADMIN_USER_NAME, testConnectionDefinition.getId(), true, true);
}
for (TestConnectionDefinition testConnectionDefinition : testConnectionDefinitions) {
repository.initializeEntity(testConnectionDefinition);
repository.prepareInternal(testConnectionDefinition);
testConnectionDefinition.setId(UUID.randomUUID());
testConnectionDefinition.setUpdatedBy(ADMIN_USER_NAME);
testConnectionDefinition.setUpdatedAt(System.currentTimeMillis());
repository.createOrUpdate(null, testConnectionDefinition);
}
}
@ -84,7 +82,6 @@ public class TestConnectionDefinitionResource
/* Required for serde */
}
// TODO remove the list method?
@GET
@Operation(
operationId = "listTestConnectionDefinitions",

View File

@ -37,9 +37,9 @@ public class TestConnectionDefinitionResourceTest extends OpenMetadataApplicatio
@Test
public void test_list_test_connection_definition() throws HttpResponseException {
WebTarget target = listResource();
ResultList mysqlTest = TestUtils.get(target, ResultList.class, ADMIN_AUTH_HEADERS);
ResultList testConnectionDefinitions = TestUtils.get(target, ResultList.class, ADMIN_AUTH_HEADERS);
// we get 10 as it's the default paging size
assertEquals(mysqlTest.getData().size(), 10);
assertEquals(testConnectionDefinitions.getData().size(), 10);
}
protected final WebTarget getResourceByName(String name) {