mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-27 03:10:04 +00:00
fix: hash name of test suite + append (#12125)
* fix: hash name of test suite + append * fix: ran java linting --------- Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
This commit is contained in:
parent
a243b78dd8
commit
efec8a1019
@ -691,6 +691,10 @@ public class TestCaseResource extends EntityResource<TestCase, TestCaseRepositor
|
|||||||
}
|
}
|
||||||
List<UUID> testCaseIds = createLogicalTestCases.getTestCaseIds();
|
List<UUID> testCaseIds = createLogicalTestCases.getTestCaseIds();
|
||||||
|
|
||||||
|
if (testCaseIds == null || testCaseIds.isEmpty()) {
|
||||||
|
return new RestUtil.PutResponse<>(Response.Status.OK, testSuite, RestUtil.ENTITY_NO_CHANGE).toResponse();
|
||||||
|
}
|
||||||
|
|
||||||
int existingTestCaseCount = repository.getTestCaseCount(testCaseIds);
|
int existingTestCaseCount = repository.getTestCaseCount(testCaseIds);
|
||||||
if (existingTestCaseCount != testCaseIds.size()) {
|
if (existingTestCaseCount != testCaseIds.size()) {
|
||||||
throw new IllegalArgumentException("You are trying to add one or more test cases that do not exist.");
|
throw new IllegalArgumentException("You are trying to add one or more test cases that do not exist.");
|
||||||
|
@ -52,6 +52,7 @@ import org.openmetadata.service.resources.Collection;
|
|||||||
import org.openmetadata.service.resources.EntityResource;
|
import org.openmetadata.service.resources.EntityResource;
|
||||||
import org.openmetadata.service.security.Authorizer;
|
import org.openmetadata.service.security.Authorizer;
|
||||||
import org.openmetadata.service.security.policyevaluator.OperationContext;
|
import org.openmetadata.service.security.policyevaluator.OperationContext;
|
||||||
|
import org.openmetadata.service.util.FullyQualifiedName;
|
||||||
import org.openmetadata.service.util.RestUtil;
|
import org.openmetadata.service.util.RestUtil;
|
||||||
import org.openmetadata.service.util.ResultList;
|
import org.openmetadata.service.util.ResultList;
|
||||||
|
|
||||||
@ -297,6 +298,7 @@ public class TestSuiteResource extends EntityResource<TestSuite, TestSuiteReposi
|
|||||||
Entity.getEntityByName(Entity.TABLE, create.getExecutableEntityReference(), null, null); // check if entity exists
|
Entity.getEntityByName(Entity.TABLE, create.getExecutableEntityReference(), null, null); // check if entity exists
|
||||||
TestSuite testSuite = getTestSuite(create, securityContext.getUserPrincipal().getName());
|
TestSuite testSuite = getTestSuite(create, securityContext.getUserPrincipal().getName());
|
||||||
testSuite.setExecutable(true);
|
testSuite.setExecutable(true);
|
||||||
|
testSuite = setExecutableTestSuiteName(testSuite);
|
||||||
return create(uriInfo, securityContext, testSuite);
|
return create(uriInfo, securityContext, testSuite);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -538,6 +540,16 @@ public class TestSuiteResource extends EntityResource<TestSuite, TestSuiteReposi
|
|||||||
return testSuite;
|
return testSuite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TestSuite setExecutableTestSuiteName(TestSuite testSuite) {
|
||||||
|
if (!testSuite.getExecutable()) {
|
||||||
|
return testSuite;
|
||||||
|
}
|
||||||
|
String name = testSuite.getName();
|
||||||
|
String hashedName = FullyQualifiedName.buildHash(name + ".testSuite");
|
||||||
|
|
||||||
|
return testSuite.withDisplayName(name).withName(hashedName);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TestSuite getByNameInternal(
|
public TestSuite getByNameInternal(
|
||||||
UriInfo uriInfo, SecurityContext securityContext, String name, String fieldsParam, Include include)
|
UriInfo uriInfo, SecurityContext securityContext, String name, String fieldsParam, Include include)
|
||||||
|
@ -156,13 +156,13 @@ public class TestCaseResourceTest extends EntityResourceTest<TestCase, CreateTes
|
|||||||
TestSuiteResourceTest testSuiteResourceTest = new TestSuiteResourceTest();
|
TestSuiteResourceTest testSuiteResourceTest = new TestSuiteResourceTest();
|
||||||
CreateTestSuite createTestSuite =
|
CreateTestSuite createTestSuite =
|
||||||
testSuiteResourceTest.createRequest(test).withName(TEST_TABLE1.getFullyQualifiedName());
|
testSuiteResourceTest.createRequest(test).withName(TEST_TABLE1.getFullyQualifiedName());
|
||||||
testSuiteResourceTest.createExecutableTestSuite(createTestSuite, ADMIN_AUTH_HEADERS);
|
TestSuite testSuite = testSuiteResourceTest.createExecutableTestSuite(createTestSuite, ADMIN_AUTH_HEADERS);
|
||||||
|
|
||||||
create.withEntityLink(INVALID_LINK1).withTestSuite(TEST_TABLE1.getFullyQualifiedName());
|
create.withEntityLink(INVALID_LINK1).withTestSuite(testSuite.getFullyQualifiedName());
|
||||||
assertResponseContains(
|
assertResponseContains(
|
||||||
() -> createAndCheckEntity(create, ADMIN_AUTH_HEADERS), BAD_REQUEST, ENTITY_LINK_MATCH_ERROR);
|
() -> createAndCheckEntity(create, ADMIN_AUTH_HEADERS), BAD_REQUEST, ENTITY_LINK_MATCH_ERROR);
|
||||||
|
|
||||||
create.withEntityLink(INVALID_LINK2).withTestSuite(TEST_TABLE1.getFullyQualifiedName());
|
create.withEntityLink(INVALID_LINK2).withTestSuite(testSuite.getFullyQualifiedName());
|
||||||
assertResponseContains(
|
assertResponseContains(
|
||||||
() -> createAndCheckEntity(create, ADMIN_AUTH_HEADERS), NOT_FOUND, "table instance for non-existent not found");
|
() -> createAndCheckEntity(create, ADMIN_AUTH_HEADERS), NOT_FOUND, "table instance for non-existent not found");
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ public class TestCaseResourceTest extends EntityResourceTest<TestCase, CreateTes
|
|||||||
CreateTestCase create2 = createRequest(test);
|
CreateTestCase create2 = createRequest(test);
|
||||||
create2
|
create2
|
||||||
.withEntityLink(TABLE_LINK)
|
.withEntityLink(TABLE_LINK)
|
||||||
.withTestSuite(TEST_SUITE1.getFullyQualifiedName())
|
.withTestSuite(testSuite.getFullyQualifiedName())
|
||||||
.withTestDefinition(TEST_SUITE1.getFullyQualifiedName());
|
.withTestDefinition(TEST_SUITE1.getFullyQualifiedName());
|
||||||
assertResponseContains(
|
assertResponseContains(
|
||||||
() -> createAndCheckEntity(create2, ADMIN_AUTH_HEADERS),
|
() -> createAndCheckEntity(create2, ADMIN_AUTH_HEADERS),
|
||||||
@ -607,14 +607,41 @@ public class TestCaseResourceTest extends EntityResourceTest<TestCase, CreateTes
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void delete_test_case_from_logical_test_suite(TestInfo test) throws IOException {
|
public void add_EmptyTestCaseToLogicalTestSuite_200(TestInfo test) throws IOException {
|
||||||
|
TestSuiteResourceTest testSuiteResourceTest = new TestSuiteResourceTest();
|
||||||
|
// Create a logical Test Suite
|
||||||
|
CreateTestSuite createLogicalTestSuite = testSuiteResourceTest.createRequest(test);
|
||||||
|
TestSuite logicalTestSuite = testSuiteResourceTest.createEntity(createLogicalTestSuite, ADMIN_AUTH_HEADERS);
|
||||||
|
|
||||||
|
testSuiteResourceTest.addTestCasesToLogicalTestSuite(logicalTestSuite, new ArrayList<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void delete_testCaseFromLogicalTestSuite(TestInfo test) throws IOException {
|
||||||
TestSuiteResourceTest testSuiteResourceTest = new TestSuiteResourceTest();
|
TestSuiteResourceTest testSuiteResourceTest = new TestSuiteResourceTest();
|
||||||
// Create a logical Test Suite
|
// Create a logical Test Suite
|
||||||
CreateTestSuite createLogicalTestSuite = testSuiteResourceTest.createRequest(test);
|
CreateTestSuite createLogicalTestSuite = testSuiteResourceTest.createRequest(test);
|
||||||
TestSuite logicalTestSuite = testSuiteResourceTest.createEntity(createLogicalTestSuite, ADMIN_AUTH_HEADERS);
|
TestSuite logicalTestSuite = testSuiteResourceTest.createEntity(createLogicalTestSuite, ADMIN_AUTH_HEADERS);
|
||||||
// Create an executable test suite
|
// Create an executable test suite
|
||||||
|
TableResourceTest tableResourceTest = new TableResourceTest();
|
||||||
|
CreateTable tableReq =
|
||||||
|
tableResourceTest
|
||||||
|
.createRequest(test)
|
||||||
|
.withName(test.getDisplayName())
|
||||||
|
.withDatabaseSchema(DATABASE_SCHEMA.getFullyQualifiedName())
|
||||||
|
.withOwner(USER1_REF)
|
||||||
|
.withColumns(
|
||||||
|
List.of(
|
||||||
|
new Column()
|
||||||
|
.withName(C1)
|
||||||
|
.withDisplayName("c1")
|
||||||
|
.withDataType(ColumnDataType.VARCHAR)
|
||||||
|
.withDataLength(10)))
|
||||||
|
.withOwner(USER1_REF);
|
||||||
|
Table table = tableResourceTest.createAndCheckEntity(tableReq, ADMIN_AUTH_HEADERS);
|
||||||
|
CreateTestSuite createExecutableTestSuite = testSuiteResourceTest.createRequest(table.getFullyQualifiedName());
|
||||||
TestSuite executableTestSuite =
|
TestSuite executableTestSuite =
|
||||||
testSuiteResourceTest.getEntityByName(TEST_TABLE1.getFullyQualifiedName(), "*", ADMIN_AUTH_HEADERS);
|
testSuiteResourceTest.createExecutableTestSuite(createExecutableTestSuite, ADMIN_AUTH_HEADERS);
|
||||||
|
|
||||||
List<TestCase> testCases = new ArrayList<TestCase>();
|
List<TestCase> testCases = new ArrayList<TestCase>();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user