Search in sources :

Example 1 with Filter

use of com.epam.ta.reportportal.commons.querygen.Filter in project commons-dao by reportportal.

the class WidgetContentRepositoryTest method notPassedCasesStatistics.

@Test
void notPassedCasesStatistics() {
    Filter filter = buildDefaultFilter(1L);
    Sort sort = Sort.by(Lists.newArrayList(new Sort.Order(Sort.Direction.ASC, CRITERIA_START_TIME)));
    List<NotPassedCasesContent> notPassedCasesContents = widgetContentRepository.notPassedCasesStatistics(filter, sort, 3);
    assertNotNull(notPassedCasesContents);
    assertEquals(3, notPassedCasesContents.size());
    notPassedCasesContents.forEach(content -> {
        Map<String, String> currentStatistics = content.getValues();
        Map<Long, Map<String, Integer>> preDefinedStatistics = buildNotPassedCasesStatistics();
        Map<String, Integer> testStatistics = preDefinedStatistics.get(content.getId());
        int executionsSum = testStatistics.values().stream().mapToInt(i -> i).sum();
        assertEquals(Double.parseDouble(currentStatistics.get(NOT_PASSED_STATISTICS_KEY)), BigDecimal.valueOf((double) 100 * (testStatistics.get("statistics$executions$skipped") + testStatistics.get("statistics$executions$failed")) / executionsSum).setScale(2, RoundingMode.HALF_UP).doubleValue(), 0.01);
    });
}
Also used : com.epam.ta.reportportal.entity.widget.content.healthcheck(com.epam.ta.reportportal.entity.widget.content.healthcheck) StatusEnum(com.epam.ta.reportportal.entity.enums.StatusEnum) CRITERIA_STATUS(com.epam.ta.reportportal.commons.querygen.constant.TestItemCriteriaConstant.CRITERIA_STATUS) DSL(org.jooq.impl.DSL) TestItem(com.epam.ta.reportportal.entity.item.TestItem) Activity(com.epam.ta.reportportal.entity.activity.Activity) Autowired(org.springframework.beans.factory.annotation.Autowired) com.epam.ta.reportportal.entity.widget.content(com.epam.ta.reportportal.entity.widget.content) CRITERIA_COMPOSITE_ATTRIBUTE(com.epam.ta.reportportal.commons.querygen.constant.ItemAttributeConstant.CRITERIA_COMPOSITE_ATTRIBUTE) CRITERIA_ACTION(com.epam.ta.reportportal.commons.querygen.constant.ActivityCriteriaConstant.CRITERIA_ACTION) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) BigDecimal(java.math.BigDecimal) Condition(com.epam.ta.reportportal.commons.querygen.Condition) Map(java.util.Map) DSLContext(org.jooq.DSLContext) Sort(org.springframework.data.domain.Sort) CRITERIA_LAUNCH_MODE(com.epam.ta.reportportal.commons.querygen.constant.LaunchCriteriaConstant.CRITERIA_LAUNCH_MODE) RoundingMode(java.math.RoundingMode) Record(org.jooq.Record) BaseTest(com.epam.ta.reportportal.BaseTest) Launch(com.epam.ta.reportportal.entity.launch.Launch) ImmutableMap(com.google.common.collect.ImmutableMap) JTestItemTypeEnum(com.epam.ta.reportportal.jooq.enums.JTestItemTypeEnum) Filter(com.epam.ta.reportportal.commons.querygen.Filter) Timestamp(java.sql.Timestamp) WidgetContentRepositoryConstants(com.epam.ta.reportportal.dao.constant.WidgetContentRepositoryConstants) GeneralCriteriaConstant(com.epam.ta.reportportal.commons.querygen.constant.GeneralCriteriaConstant) ConvertibleCondition(com.epam.ta.reportportal.commons.querygen.ConvertibleCondition) FilterCondition(com.epam.ta.reportportal.commons.querygen.FilterCondition) Result(org.jooq.Result) Maps(com.google.common.collect.Maps) Sql(org.springframework.test.context.jdbc.Sql) Collectors(java.util.stream.Collectors) CRITERIA_CREATION_DATE(com.epam.ta.reportportal.commons.querygen.constant.ActivityCriteriaConstant.CRITERIA_CREATION_DATE) Test(org.junit.jupiter.api.Test) List(java.util.List) CRITERIA_USER(com.epam.ta.reportportal.commons.querygen.constant.UserCriteriaConstant.CRITERIA_USER) Lists(org.assertj.core.util.Lists) Assertions(org.junit.jupiter.api.Assertions) JStatusEnum(com.epam.ta.reportportal.jooq.enums.JStatusEnum) CRITERIA_ITEM_ATTRIBUTE_KEY(com.epam.ta.reportportal.commons.querygen.constant.ItemAttributeConstant.CRITERIA_ITEM_ATTRIBUTE_KEY) Mode(com.epam.ta.reportportal.ws.model.launch.Mode) ActivityResource(com.epam.ta.reportportal.ws.model.ActivityResource) Filter(com.epam.ta.reportportal.commons.querygen.Filter) Sort(org.springframework.data.domain.Sort) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) BaseTest(com.epam.ta.reportportal.BaseTest) Test(org.junit.jupiter.api.Test)

Example 2 with Filter

use of com.epam.ta.reportportal.commons.querygen.Filter in project commons-dao by reportportal.

the class WidgetContentRepositoryTest method bugTrendStatisticsSorting.

@Test
void bugTrendStatisticsSorting() {
    String sortingColumn = "statistics$defects$no_defect$nd001";
    Filter filter = buildDefaultFilter(1L);
    List<String> contentFields = buildTotalDefectsContentFields();
    List<Sort.Order> orders = filter.getTarget().getCriteriaHolders().stream().map(ch -> new Sort.Order(Sort.Direction.ASC, ch.getFilterCriteria())).collect(Collectors.toList());
    orders.add(new Sort.Order(Sort.Direction.DESC, sortingColumn));
    Sort sort = Sort.by(orders);
    List<ChartStatisticsContent> chartStatisticsContents = widgetContentRepository.bugTrendStatistics(filter, contentFields, sort, 4);
    assertNotNull(chartStatisticsContents);
    assertEquals(4, chartStatisticsContents.size());
}
Also used : com.epam.ta.reportportal.entity.widget.content.healthcheck(com.epam.ta.reportportal.entity.widget.content.healthcheck) StatusEnum(com.epam.ta.reportportal.entity.enums.StatusEnum) CRITERIA_STATUS(com.epam.ta.reportportal.commons.querygen.constant.TestItemCriteriaConstant.CRITERIA_STATUS) DSL(org.jooq.impl.DSL) TestItem(com.epam.ta.reportportal.entity.item.TestItem) Activity(com.epam.ta.reportportal.entity.activity.Activity) Autowired(org.springframework.beans.factory.annotation.Autowired) com.epam.ta.reportportal.entity.widget.content(com.epam.ta.reportportal.entity.widget.content) CRITERIA_COMPOSITE_ATTRIBUTE(com.epam.ta.reportportal.commons.querygen.constant.ItemAttributeConstant.CRITERIA_COMPOSITE_ATTRIBUTE) CRITERIA_ACTION(com.epam.ta.reportportal.commons.querygen.constant.ActivityCriteriaConstant.CRITERIA_ACTION) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) BigDecimal(java.math.BigDecimal) Condition(com.epam.ta.reportportal.commons.querygen.Condition) Map(java.util.Map) DSLContext(org.jooq.DSLContext) Sort(org.springframework.data.domain.Sort) CRITERIA_LAUNCH_MODE(com.epam.ta.reportportal.commons.querygen.constant.LaunchCriteriaConstant.CRITERIA_LAUNCH_MODE) RoundingMode(java.math.RoundingMode) Record(org.jooq.Record) BaseTest(com.epam.ta.reportportal.BaseTest) Launch(com.epam.ta.reportportal.entity.launch.Launch) ImmutableMap(com.google.common.collect.ImmutableMap) JTestItemTypeEnum(com.epam.ta.reportportal.jooq.enums.JTestItemTypeEnum) Filter(com.epam.ta.reportportal.commons.querygen.Filter) Timestamp(java.sql.Timestamp) WidgetContentRepositoryConstants(com.epam.ta.reportportal.dao.constant.WidgetContentRepositoryConstants) GeneralCriteriaConstant(com.epam.ta.reportportal.commons.querygen.constant.GeneralCriteriaConstant) ConvertibleCondition(com.epam.ta.reportportal.commons.querygen.ConvertibleCondition) FilterCondition(com.epam.ta.reportportal.commons.querygen.FilterCondition) Result(org.jooq.Result) Maps(com.google.common.collect.Maps) Sql(org.springframework.test.context.jdbc.Sql) Collectors(java.util.stream.Collectors) CRITERIA_CREATION_DATE(com.epam.ta.reportportal.commons.querygen.constant.ActivityCriteriaConstant.CRITERIA_CREATION_DATE) Test(org.junit.jupiter.api.Test) List(java.util.List) CRITERIA_USER(com.epam.ta.reportportal.commons.querygen.constant.UserCriteriaConstant.CRITERIA_USER) Lists(org.assertj.core.util.Lists) Assertions(org.junit.jupiter.api.Assertions) JStatusEnum(com.epam.ta.reportportal.jooq.enums.JStatusEnum) CRITERIA_ITEM_ATTRIBUTE_KEY(com.epam.ta.reportportal.commons.querygen.constant.ItemAttributeConstant.CRITERIA_ITEM_ATTRIBUTE_KEY) Mode(com.epam.ta.reportportal.ws.model.launch.Mode) ActivityResource(com.epam.ta.reportportal.ws.model.ActivityResource) Filter(com.epam.ta.reportportal.commons.querygen.Filter) Sort(org.springframework.data.domain.Sort) BaseTest(com.epam.ta.reportportal.BaseTest) Test(org.junit.jupiter.api.Test)

Example 3 with Filter

use of com.epam.ta.reportportal.commons.querygen.Filter in project commons-dao by reportportal.

the class WidgetContentRepositoryTest method componentHealthCheck.

@Test
void componentHealthCheck() {
    String sortingColumn = "statistics$defects$no_defect$nd001";
    Filter launchFilter = buildDefaultFilter(1L);
    List<Sort.Order> orderings = Lists.newArrayList(new Sort.Order(Sort.Direction.DESC, sortingColumn), new Sort.Order(Sort.Direction.DESC, CRITERIA_START_TIME));
    Sort sort = Sort.by(orderings);
    Filter itemsFilter = new Filter(1L, TestItem.class, Lists.newArrayList(FilterCondition.builder().withCondition(Condition.HAS).withNegative(false).withSearchCriteria(CRITERIA_COMPOSITE_ATTRIBUTE).withValue("new:os").build()));
    List<ComponentHealthCheckContent> contents = widgetContentRepository.componentHealthCheck(launchFilter, sort, false, 600, itemsFilter, "new");
    assertTrue(contents.isEmpty());
}
Also used : Filter(com.epam.ta.reportportal.commons.querygen.Filter) Sort(org.springframework.data.domain.Sort) BaseTest(com.epam.ta.reportportal.BaseTest) Test(org.junit.jupiter.api.Test)

Example 4 with Filter

use of com.epam.ta.reportportal.commons.querygen.Filter in project commons-dao by reportportal.

the class WidgetContentRepositoryTest method activityStatistics.

@Test
void activityStatistics() {
    Filter filter = buildDefaultActivityFilter(1L);
    Sort sort = Sort.by(Lists.newArrayList(new Sort.Order(Sort.Direction.DESC, CRITERIA_CREATION_DATE)));
    List<String> contentFields = buildActivityContentFields();
    filter.withCondition(new FilterCondition(Condition.EQUALS, false, "superadmin", CRITERIA_USER)).withCondition(new FilterCondition(Condition.IN, false, String.join(",", contentFields), CRITERIA_ACTION));
    List<ActivityResource> activityContentList = widgetContentRepository.activityStatistics(filter, sort, 4);
    assertNotNull(activityContentList);
    assertEquals(4, activityContentList.size());
}
Also used : Filter(com.epam.ta.reportportal.commons.querygen.Filter) FilterCondition(com.epam.ta.reportportal.commons.querygen.FilterCondition) ActivityResource(com.epam.ta.reportportal.ws.model.ActivityResource) Sort(org.springframework.data.domain.Sort) BaseTest(com.epam.ta.reportportal.BaseTest) Test(org.junit.jupiter.api.Test)

Example 5 with Filter

use of com.epam.ta.reportportal.commons.querygen.Filter in project commons-dao by reportportal.

the class WidgetContentRepositoryTest method componentHealthCheckTable.

@Test
void componentHealthCheckTable() {
    String sortingColumn = "statistics$defects$no_defect$nd001";
    Filter launchFilter = buildDefaultFilter(1L);
    List<Sort.Order> orderings = Lists.newArrayList(new Sort.Order(Sort.Direction.DESC, sortingColumn), new Sort.Order(Sort.Direction.DESC, CRITERIA_START_TIME));
    Sort sort = Sort.by(orderings);
    HealthCheckTableInitParams initParams = HealthCheckTableInitParams.of("first", com.google.common.collect.Lists.newArrayList("build"));
    initParams.setCustomKey("build");
    launchFilter.withCondition(FilterCondition.builder().withCondition(Condition.ANY).withSearchCriteria(CRITERIA_ITEM_ATTRIBUTE_KEY).withValue("build").build());
    widgetContentRepository.generateComponentHealthCheckTable(false, initParams, launchFilter, sort, 600, false);
    List<HealthCheckTableContent> healthCheckTableContents = widgetContentRepository.componentHealthCheckTable(HealthCheckTableGetParams.of("first", "build", Sort.by(Sort.Direction.DESC, "customColumn"), true, new ArrayList<>()));
    assertFalse(healthCheckTableContents.isEmpty());
    initParams = HealthCheckTableInitParams.of("hello", com.google.common.collect.Lists.newArrayList("build"));
    widgetContentRepository.generateComponentHealthCheckTable(false, initParams, launchFilter, sort, 600, false);
    widgetContentRepository.generateComponentHealthCheckTable(true, initParams, launchFilter, sort, 600, false);
    healthCheckTableContents = widgetContentRepository.componentHealthCheckTable(HealthCheckTableGetParams.of("hello", "hello", Sort.by(Sort.Direction.DESC, "passingRate"), false, com.google.common.collect.Lists.newArrayList(LevelEntry.of("k1", "v1"), LevelEntry.of("k2", "v2"))));
    assertTrue(healthCheckTableContents.isEmpty());
    healthCheckTableContents = widgetContentRepository.componentHealthCheckTable(HealthCheckTableGetParams.of("hello", "build", Sort.by(Sort.Direction.ASC, "passingRate"), false, new ArrayList<>()));
    assertTrue(healthCheckTableContents.isEmpty());
    healthCheckTableContents = widgetContentRepository.componentHealthCheckTable(HealthCheckTableGetParams.of("hello", "build", Sort.by(Sort.Direction.DESC, "statistics$executions$total"), false, new ArrayList<>()));
    assertTrue(healthCheckTableContents.isEmpty());
    healthCheckTableContents = widgetContentRepository.componentHealthCheckTable(HealthCheckTableGetParams.of("hello", "build", Sort.by(Sort.Direction.DESC, "statistics$executions$failed"), false, com.google.common.collect.Lists.newArrayList(LevelEntry.of("k1", "v1"), LevelEntry.of("k2", "v2"))));
    assertTrue(healthCheckTableContents.isEmpty());
    Result<Record> fetch = dslContext.fetch(DSL.sql("SELECT * FROM pg_matviews"));
    assertTrue(fetch.isNotEmpty());
    widgetContentRepository.removeWidgetView("hello");
    widgetContentRepository.removeWidgetView("first");
    widgetContentRepository.removeWidgetView("not_existing_view");
    Result<Record> fetch1 = dslContext.fetch(DSL.sql("SELECT * FROM pg_matviews"));
    assertTrue(fetch1.isEmpty());
}
Also used : ArrayList(java.util.ArrayList) Filter(com.epam.ta.reportportal.commons.querygen.Filter) Sort(org.springframework.data.domain.Sort) Record(org.jooq.Record) BaseTest(com.epam.ta.reportportal.BaseTest) Test(org.junit.jupiter.api.Test)

Aggregations

Filter (com.epam.ta.reportportal.commons.querygen.Filter)63 BaseTest (com.epam.ta.reportportal.BaseTest)59 Test (org.junit.jupiter.api.Test)59 Sort (org.springframework.data.domain.Sort)38 FilterCondition (com.epam.ta.reportportal.commons.querygen.FilterCondition)29 Activity (com.epam.ta.reportportal.entity.activity.Activity)24 Timestamp (java.sql.Timestamp)23 Autowired (org.springframework.beans.factory.annotation.Autowired)23 StatusEnum (com.epam.ta.reportportal.entity.enums.StatusEnum)22 JStatusEnum (com.epam.ta.reportportal.jooq.enums.JStatusEnum)22 BigDecimal (java.math.BigDecimal)22 RoundingMode (java.math.RoundingMode)22 LinkedHashMap (java.util.LinkedHashMap)22 DSL (org.jooq.impl.DSL)22 CRITERIA_STATUS (com.epam.ta.reportportal.commons.querygen.constant.TestItemCriteriaConstant.CRITERIA_STATUS)21 ActivityResource (com.epam.ta.reportportal.ws.model.ActivityResource)20 ImmutableMap (com.google.common.collect.ImmutableMap)20 ArrayList (java.util.ArrayList)20 Map (java.util.Map)20 Condition (com.epam.ta.reportportal.commons.querygen.Condition)19