mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-01 11:09:14 +00:00
* fix: exclude empty test suites * style: ran java linting * fix: update expected test results
This commit is contained in:
parent
0b561f354a
commit
3886842bb7
@ -58,6 +58,7 @@ public class ListFilter {
|
||||
condition = addCondition(condition, getTestCaseCondition());
|
||||
condition = addCondition(condition, getTestSuiteTypeCondition());
|
||||
condition = addCondition(condition, getTestSuiteFQNCondition());
|
||||
condition = addCondition(condition, getEmptyTestSuiteCondition());
|
||||
condition = addCondition(condition, getDomainCondition());
|
||||
condition = addCondition(condition, getEntityFQNHashCondition());
|
||||
condition = addCondition(condition, getTestCaseResolutionStatusType());
|
||||
@ -227,6 +228,20 @@ public class ListFilter {
|
||||
}
|
||||
}
|
||||
|
||||
private String getEmptyTestSuiteCondition() {
|
||||
String includeEmptyTestSuites = getQueryParam("includeEmptyTestSuites");
|
||||
if (includeEmptyTestSuites == null || Boolean.parseBoolean(includeEmptyTestSuites)) {
|
||||
// if we want to include empty test suites, then we don't need to add a condition
|
||||
return "";
|
||||
}
|
||||
|
||||
if (Boolean.TRUE.equals(DatasourceConfig.getInstance().isMySQL())) {
|
||||
return "!JSON_CONTAINS(json, JSON_ARRAY() , '$.testCaseResultSummary')";
|
||||
}
|
||||
|
||||
return "jsonb_array_length(json#>'{testCaseResultSummary}') != 0";
|
||||
}
|
||||
|
||||
private String getFqnPrefixCondition(String tableName, String fqnPrefix) {
|
||||
return tableName == null
|
||||
? String.format(
|
||||
|
||||
@ -125,6 +125,12 @@ public class TestSuiteResource extends EntityResource<TestSuite, TestSuiteReposi
|
||||
schema = @Schema(type = "string", example = "executable"))
|
||||
@QueryParam("testSuiteType")
|
||||
String testSuiteType,
|
||||
@Parameter(
|
||||
description = "Include empty test suite in the response.",
|
||||
schema = @Schema(type = "boolean", example = "true"))
|
||||
@QueryParam("includeEmptyTestSuites")
|
||||
@DefaultValue("true")
|
||||
Boolean includeEmptyTestSuites,
|
||||
@Parameter(
|
||||
description = "Returns list of test definitions before this cursor",
|
||||
schema = @Schema(type = "string"))
|
||||
@ -143,6 +149,7 @@ public class TestSuiteResource extends EntityResource<TestSuite, TestSuiteReposi
|
||||
Include include) {
|
||||
ListFilter filter = new ListFilter(include);
|
||||
filter.addQueryParam("testSuiteType", testSuiteType);
|
||||
filter.addQueryParam("includeEmptyTestSuites", includeEmptyTestSuites);
|
||||
EntityUtil.Fields fields = getFields(fieldsParam);
|
||||
|
||||
ResourceContext<?> resourceContext = getResourceContext();
|
||||
|
||||
@ -356,6 +356,10 @@ public class TestSuiteResourceTest extends EntityResourceTest<TestSuite, CreateT
|
||||
queryParams.put("testSuiteType", "logical");
|
||||
testSuiteResultList = listEntities(queryParams, ADMIN_AUTH_HEADERS);
|
||||
testSuiteResultList.getData().forEach(ts -> assertEquals(false, ts.getExecutable()));
|
||||
|
||||
queryParams.put("includeEmptyTestSuites", "false");
|
||||
testSuiteResultList = listEntities(queryParams, ADMIN_AUTH_HEADERS);
|
||||
assertEquals(0, testSuiteResultList.getData().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@ -145,6 +145,7 @@ export const TestSuites = ({ summaryPanel }: { summaryPanel: ReactNode }) => {
|
||||
const result = await getListTestSuites({
|
||||
...params,
|
||||
fields: 'owner,summary',
|
||||
includeEmptyTestSuites: false,
|
||||
testSuiteType:
|
||||
tab === DataQualityPageTabs.TABLES
|
||||
? TestSuiteType.executable
|
||||
|
||||
@ -102,6 +102,7 @@ describe('TestSuites component', () => {
|
||||
).toBeInTheDocument();
|
||||
expect(mockGetListTestSuites).toHaveBeenCalledWith({
|
||||
fields: 'owner,summary',
|
||||
includeEmptyTestSuites: false,
|
||||
limit: 15,
|
||||
testSuiteType: 'executable',
|
||||
});
|
||||
@ -138,6 +139,7 @@ describe('TestSuites component', () => {
|
||||
).toBeInTheDocument();
|
||||
expect(mockGetListTestSuites).toHaveBeenCalledWith({
|
||||
fields: 'owner,summary',
|
||||
includeEmptyTestSuites: false,
|
||||
limit: 15,
|
||||
testSuiteType: 'logical',
|
||||
});
|
||||
|
||||
@ -34,6 +34,7 @@ export enum TestSuiteType {
|
||||
|
||||
export type ListTestSuitePrams = ListParams & {
|
||||
testSuiteType?: TestSuiteType;
|
||||
includeEmptyTestSuites?: boolean;
|
||||
};
|
||||
|
||||
export type ListTestCaseParams = ListParams & {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user