mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-11 08:23:40 +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, getTestCaseCondition());
|
||||||
condition = addCondition(condition, getTestSuiteTypeCondition());
|
condition = addCondition(condition, getTestSuiteTypeCondition());
|
||||||
condition = addCondition(condition, getTestSuiteFQNCondition());
|
condition = addCondition(condition, getTestSuiteFQNCondition());
|
||||||
|
condition = addCondition(condition, getEmptyTestSuiteCondition());
|
||||||
condition = addCondition(condition, getDomainCondition());
|
condition = addCondition(condition, getDomainCondition());
|
||||||
condition = addCondition(condition, getEntityFQNHashCondition());
|
condition = addCondition(condition, getEntityFQNHashCondition());
|
||||||
condition = addCondition(condition, getTestCaseResolutionStatusType());
|
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) {
|
private String getFqnPrefixCondition(String tableName, String fqnPrefix) {
|
||||||
return tableName == null
|
return tableName == null
|
||||||
? String.format(
|
? String.format(
|
||||||
|
|||||||
@ -125,6 +125,12 @@ public class TestSuiteResource extends EntityResource<TestSuite, TestSuiteReposi
|
|||||||
schema = @Schema(type = "string", example = "executable"))
|
schema = @Schema(type = "string", example = "executable"))
|
||||||
@QueryParam("testSuiteType")
|
@QueryParam("testSuiteType")
|
||||||
String 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(
|
@Parameter(
|
||||||
description = "Returns list of test definitions before this cursor",
|
description = "Returns list of test definitions before this cursor",
|
||||||
schema = @Schema(type = "string"))
|
schema = @Schema(type = "string"))
|
||||||
@ -143,6 +149,7 @@ public class TestSuiteResource extends EntityResource<TestSuite, TestSuiteReposi
|
|||||||
Include include) {
|
Include include) {
|
||||||
ListFilter filter = new ListFilter(include);
|
ListFilter filter = new ListFilter(include);
|
||||||
filter.addQueryParam("testSuiteType", testSuiteType);
|
filter.addQueryParam("testSuiteType", testSuiteType);
|
||||||
|
filter.addQueryParam("includeEmptyTestSuites", includeEmptyTestSuites);
|
||||||
EntityUtil.Fields fields = getFields(fieldsParam);
|
EntityUtil.Fields fields = getFields(fieldsParam);
|
||||||
|
|
||||||
ResourceContext<?> resourceContext = getResourceContext();
|
ResourceContext<?> resourceContext = getResourceContext();
|
||||||
|
|||||||
@ -356,6 +356,10 @@ public class TestSuiteResourceTest extends EntityResourceTest<TestSuite, CreateT
|
|||||||
queryParams.put("testSuiteType", "logical");
|
queryParams.put("testSuiteType", "logical");
|
||||||
testSuiteResultList = listEntities(queryParams, ADMIN_AUTH_HEADERS);
|
testSuiteResultList = listEntities(queryParams, ADMIN_AUTH_HEADERS);
|
||||||
testSuiteResultList.getData().forEach(ts -> assertEquals(false, ts.getExecutable()));
|
testSuiteResultList.getData().forEach(ts -> assertEquals(false, ts.getExecutable()));
|
||||||
|
|
||||||
|
queryParams.put("includeEmptyTestSuites", "false");
|
||||||
|
testSuiteResultList = listEntities(queryParams, ADMIN_AUTH_HEADERS);
|
||||||
|
assertEquals(0, testSuiteResultList.getData().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@ -145,6 +145,7 @@ export const TestSuites = ({ summaryPanel }: { summaryPanel: ReactNode }) => {
|
|||||||
const result = await getListTestSuites({
|
const result = await getListTestSuites({
|
||||||
...params,
|
...params,
|
||||||
fields: 'owner,summary',
|
fields: 'owner,summary',
|
||||||
|
includeEmptyTestSuites: false,
|
||||||
testSuiteType:
|
testSuiteType:
|
||||||
tab === DataQualityPageTabs.TABLES
|
tab === DataQualityPageTabs.TABLES
|
||||||
? TestSuiteType.executable
|
? TestSuiteType.executable
|
||||||
|
|||||||
@ -102,6 +102,7 @@ describe('TestSuites component', () => {
|
|||||||
).toBeInTheDocument();
|
).toBeInTheDocument();
|
||||||
expect(mockGetListTestSuites).toHaveBeenCalledWith({
|
expect(mockGetListTestSuites).toHaveBeenCalledWith({
|
||||||
fields: 'owner,summary',
|
fields: 'owner,summary',
|
||||||
|
includeEmptyTestSuites: false,
|
||||||
limit: 15,
|
limit: 15,
|
||||||
testSuiteType: 'executable',
|
testSuiteType: 'executable',
|
||||||
});
|
});
|
||||||
@ -138,6 +139,7 @@ describe('TestSuites component', () => {
|
|||||||
).toBeInTheDocument();
|
).toBeInTheDocument();
|
||||||
expect(mockGetListTestSuites).toHaveBeenCalledWith({
|
expect(mockGetListTestSuites).toHaveBeenCalledWith({
|
||||||
fields: 'owner,summary',
|
fields: 'owner,summary',
|
||||||
|
includeEmptyTestSuites: false,
|
||||||
limit: 15,
|
limit: 15,
|
||||||
testSuiteType: 'logical',
|
testSuiteType: 'logical',
|
||||||
});
|
});
|
||||||
|
|||||||
@ -34,6 +34,7 @@ export enum TestSuiteType {
|
|||||||
|
|
||||||
export type ListTestSuitePrams = ListParams & {
|
export type ListTestSuitePrams = ListParams & {
|
||||||
testSuiteType?: TestSuiteType;
|
testSuiteType?: TestSuiteType;
|
||||||
|
includeEmptyTestSuites?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ListTestCaseParams = ListParams & {
|
export type ListTestCaseParams = ListParams & {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user