diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8438984..d41c77c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,11 +37,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Set up JDK 1.8 + - name: Set up JDK 11 uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '8' + java-version: '11' - name: Build with Gradle run: ./gradlew build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f2e152d..54f1bd7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,11 +49,11 @@ jobs: version-file: ${{ env.VERSION_FILE }} version-file-extraction-pattern: ${{ env.VERSION_EXTRACT_PATTERN }} - - name: Set up JDK 1.8 + - name: Set up JDK 11 uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '8' + java-version: '11' - name: Setup git credentials uses: oleksiyrudenko/gha-git-credentials@v2-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 65ff7be..27f5bf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog ## [Unreleased] +### Changed +- Client version updated on [5.4.3](https://github.com/reportportal/client-java/releases/tag/5.4.3), by @HardNorth +- Replace "jsr305" annotations with "jakarta.annotation-api", by @HardNorth +- Switch on use of `Instant` class instead of `Date` to get more timestamp precision, by @HardNorth ## [5.3.2] ### Changed diff --git a/build.gradle b/build.gradle index 65bdf8c..e9eddcf 100644 --- a/build.gradle +++ b/build.gradle @@ -29,8 +29,8 @@ project.ext.limits = [ 'class' : 90 ] -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = JavaVersion.VERSION_11 +targetCompatibility = JavaVersion.VERSION_11 compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' @@ -39,19 +39,19 @@ repositories { } dependencies { - api 'com.epam.reportportal:client-java:5.3.17' + api 'com.epam.reportportal:client-java:5.4.3' api 'com.nordstrom.tools:junit-foundation:17.2.4' implementation 'org.slf4j:slf4j-api:2.0.7' - testImplementation 'com.epam.reportportal:agent-java-test-utils:0.0.13' + testImplementation 'com.epam.reportportal:agent-java-test-utils:0.1.0' testImplementation 'org.aspectj:aspectjweaver:1.9.19' testImplementation 'org.hamcrest:hamcrest-core:2.2' testImplementation "org.mockito:mockito-core:${project.mockito_version}" testImplementation "org.mockito:mockito-junit-jupiter:${project.mockito_version}" - testImplementation 'ch.qos.logback:logback-classic:1.3.15' - testImplementation 'com.epam.reportportal:logger-java-logback:5.2.3' + testImplementation 'ch.qos.logback:logback-classic:1.5.18' + testImplementation 'com.epam.reportportal:logger-java-logback:5.4.0' testImplementation ("org.junit.platform:junit-platform-runner:${project.junit5_runner_version}") { exclude module: 'junit' } diff --git a/gradle.properties b/gradle.properties index 3cc2ee0..3f5f713 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=5.3.3-SNAPSHOT +version=5.4.0-SNAPSHOT description=ReportPortal JUnit 4 client junit5_version=5.6.3 junit5_runner_version=1.6.3 diff --git a/src/main/java/com/epam/reportportal/junit/ReportPortalListener.java b/src/main/java/com/epam/reportportal/junit/ReportPortalListener.java index 274c6b0..53bbb14 100644 --- a/src/main/java/com/epam/reportportal/junit/ReportPortalListener.java +++ b/src/main/java/com/epam/reportportal/junit/ReportPortalListener.java @@ -35,6 +35,8 @@ import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import com.nordstrom.automation.junit.*; import io.reactivex.Maybe; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import org.junit.*; @@ -51,13 +53,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Constructor; import java.lang.reflect.Executable; import java.lang.reflect.Method; +import java.time.Instant; import java.util.*; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.function.Function; @@ -84,7 +85,7 @@ public class ReportPortalListener implements ShutdownListener, RunnerWatcher, Ru private static final String IS_THEORY = "IS_THEORY"; public static final String DESCRIPTION_TEST_ERROR_FORMAT = "%s\nError: \n%s"; private Throwable testThrowable; - private static final Map, ItemType> TYPE_MAP = Collections.unmodifiableMap(new HashMap, ItemType>() { + private static final Map, ItemType> TYPE_MAP = Collections.unmodifiableMap(new HashMap<>() { private static final long serialVersionUID = 5292344734560662610L; { @@ -146,7 +147,7 @@ public static void setReportPortal(ReportPortal reportPortal) { protected void stopLaunch() { if (launch.isInitialized()) { FinishExecutionRQ finishExecutionRQ = new FinishExecutionRQ(); - finishExecutionRQ.setEndTime(Calendar.getInstance().getTime()); + finishExecutionRQ.setEndTime(Instant.now()); launch.get().finish(finishExecutionRQ); launch.reset(); } @@ -170,24 +171,29 @@ private List getRunnerChain(@Nonnull final Object runner) { @Nonnull private TestItemTree.TestItemLeaf retrieveLeaf(@Nonnull final Map children, - @Nonnull final Object runner, @Nonnull final Date previousDate, @Nonnull final ItemType itemType, + @Nonnull final Object runner, @Nonnull final Instant previousDate, @Nonnull final ItemType itemType, @Nullable final Maybe parentId) { - return children.computeIfAbsent(TestItemTree.ItemTreeKey.of(getRunnerName(runner)), (k) -> { - Launch myLaunch = launch.get(); - Date currentDate = Calendar.getInstance().getTime(); - Date itemDate; - if (previousDate.compareTo(currentDate) <= 0) { - itemDate = currentDate; - } else { - itemDate = previousDate; - } - StartTestItemRQ rq = itemType == ItemType.TEST ? buildStartTestItemRq(runner, itemDate) : buildStartSuiteRq(runner, itemDate); - TestItemTree.TestItemLeaf l = ofNullable(parentId).map(p -> TestItemTree.createTestItemLeaf(p, myLaunch.startTestItem(p, rq))) - .orElseGet(() -> TestItemTree.createTestItemLeaf(myLaunch.startTestItem(rq))); - l.setType(ItemType.SUITE); - l.setAttribute(START_TIME, rq.getStartTime()); - return l; - }); + return children.computeIfAbsent( + TestItemTree.ItemTreeKey.of(getRunnerName(runner)), (k) -> { + Launch myLaunch = launch.get(); + Instant currentDate = Instant.now(); + Instant itemDate; + if (previousDate.compareTo(currentDate) <= 0) { + itemDate = currentDate; + } else { + itemDate = previousDate; + } + StartTestItemRQ rq = + itemType == ItemType.TEST ? buildStartTestItemRq(runner, itemDate) : buildStartSuiteRq(runner, itemDate); + TestItemTree.TestItemLeaf l = ofNullable(parentId).map(p -> TestItemTree.createTestItemLeaf( + p, + myLaunch.startTestItem(p, rq) + )).orElseGet(() -> TestItemTree.createTestItemLeaf(myLaunch.startTestItem(rq))); + l.setType(ItemType.SUITE); + l.setAttribute(START_TIME, rq.getStartTime()); + return l; + } + ); } /** @@ -205,10 +211,11 @@ protected TestItemTree.TestItemLeaf retrieveLeaf(@Nonnull final Object testRunne Object runner = runnerChain.get(i); ItemType type = i + 1 < chainSize ? ItemType.SUITE : ItemType.TEST; if (i <= 0) { - leafChain.add(retrieveLeaf(context.getItemTree().getTestItems(), runner, Calendar.getInstance().getTime(), type, null)); + leafChain.add(retrieveLeaf(context.getItemTree().getTestItems(), runner, Instant.now(), type, null)); } else { TestItemTree.TestItemLeaf parentLeaf = leafChain.get(i - 1); - leafChain.add(retrieveLeaf(parentLeaf.getChildItems(), runner, + leafChain.add(retrieveLeaf( + parentLeaf.getChildItems(), runner, // should not be null, since 'retrieveLeaf' always set this attribute Objects.requireNonNull(parentLeaf.getAttribute(START_TIME)), type, parentLeaf.getItemId() )); @@ -335,9 +342,9 @@ protected void stopRunner(@Nonnull final Object runner) { * @return a safe child item timestamp */ @Nonnull - protected Date getDateForChild(@Nullable final TestItemTree.TestItemLeaf parentLeaf) { - Date currentDate = Calendar.getInstance().getTime(); - return ofNullable(parentLeaf).map(l -> l.getAttribute(START_TIME)).map(d -> { + protected Instant getDateForChild(@Nullable final TestItemTree.TestItemLeaf parentLeaf) { + Instant currentDate = Instant.now(); + return ofNullable(parentLeaf).map(l -> l.getAttribute(START_TIME)).map(d -> { if (currentDate.compareTo(d) >= 0) { return currentDate; } else { @@ -353,7 +360,7 @@ protected Date getDateForChild(@Nullable final TestItemTree.TestItemLeaf parentL */ protected void startTest(@Nonnull final AtomicTest testContext) { FrameworkMethod method = testContext.getIdentity(); - if (!ofNullable(method.getAnnotation(Theory.class)).isPresent()) { + if (ofNullable(method.getAnnotation(Theory.class)).isEmpty()) { context.setTestStatus(createItemTreeKey(method, getStepParameters(testContext)), ItemStatus.PASSED); } context.setTestMethodDescription(method, testContext.getDescription()); @@ -398,7 +405,8 @@ protected void finishTest(@Nonnull final AtomicTest testContext) { if (ItemStatus.FAILED == theoryStatus) { sendReportPortalMsg(l.getItemId(), LogLevel.ERROR, context.getTestThrowable(key)); } - stopTestMethod(l, + stopTestMethod( + l, method, buildFinishStepRq(runner, method, callable, theoryStatus == null ? ItemStatus.PASSED : theoryStatus) ); @@ -452,7 +460,8 @@ protected void startTestItem(@Nonnull final FrameworkMethod method, @Nonnull fin protected void startTestMethod(@Nonnull final Object runner, @Nonnull final FrameworkMethod method, @Nonnull final ReflectiveCallable callable) { TestItemTree.TestItemLeaf testLeaf = retrieveLeaf(runner); - StartTestItemRQ rq = buildStartStepRq(runner, + StartTestItemRQ rq = buildStartStepRq( + runner, context.getTestMethodDescription(method), method, callable, @@ -494,9 +503,9 @@ private void updateTestItemTree(@Nonnull final FrameworkMethod method, @Nullable */ @SuppressWarnings("unused") protected void reportSkippedStep(@Nonnull final Object runner, @Nonnull final FrameworkMethod failedMethod, - @Nonnull final ReflectiveCallable callable, @Nonnull final Date eventTime, @Nullable final Throwable throwable) { - Date currentTime = Calendar.getInstance().getTime(); - Date skipStartTime = currentTime.after(eventTime) ? new Date(currentTime.getTime() - 1) : currentTime; + @Nonnull final ReflectiveCallable callable, @Nonnull final Instant eventTime, @Nullable final Throwable throwable) { + Instant currentTime = Instant.now(); + Instant skipStartTime = currentTime.isAfter(eventTime) ? currentTime.minusMillis(1) : currentTime; TestItemTree.ItemTreeKey myParentKey = createItemTreeKey(getRunnerName(runner)); TestItemTree.TestItemLeaf testLeaf = ofNullable(getLeaf(runner)).orElseGet(() -> context.getItemTree() .getTestItems() @@ -531,7 +540,7 @@ protected void reportSkippedStep(@Nonnull final Object runner, @Nonnull final Fr */ @SuppressWarnings("unused") protected void reportSkippedClassTests(@Nonnull final Object runner, @Nonnull final FrameworkMethod failedMethod, - @Nonnull final ReflectiveCallable callable, @Nonnull final Date eventTime, @Nullable final Throwable throwable) { + @Nonnull final ReflectiveCallable callable, @Nonnull final Instant eventTime, @Nullable final Throwable throwable) { } private void stopTestMethod(@Nonnull final TestItemTree.TestItemLeaf myLeaf, @Nonnull final FrameworkMethod method, @@ -565,7 +574,7 @@ protected void stopTestMethod(@Nonnull final Object runner, @Nonnull final Frame @Nonnull final ReflectiveCallable callable, @Nonnull final FinishTestItemRQ rq) { ofNullable(getLeaf(runner, method, callable)).ifPresent(l -> { ItemStatus status = ItemStatus.valueOf(rq.getStatus()); - if (!ofNullable(method.getAnnotation(Theory.class)).isPresent()) { + if (ofNullable(method.getAnnotation(Theory.class)).isEmpty()) { l.setStatus(status); stopTestMethod(l, method, rq); } @@ -592,14 +601,14 @@ protected void stopTestMethod(@Nonnull final Object runner, @Nonnull final Frame (ItemType.BEFORE_METHOD == methodType && ItemStatus.FAILED == status) || (ItemType.BEFORE_METHOD == methodType && ItemStatus.SKIPPED == status && throwable instanceof AssumptionViolatedException); if (reportSkippedMethod) { - reportSkippedStep(runner, method, callable, rq.getEndTime(), throwable); + reportSkippedStep(runner, method, callable, (Instant) rq.getEndTime(), throwable); } boolean reportSkippedClass = (ItemType.BEFORE_CLASS == methodType && ItemStatus.FAILED == status) || (ItemType.BEFORE_CLASS == methodType && ItemStatus.SKIPPED == status && throwable instanceof AssumptionViolatedException); if (reportSkippedClass) { - reportSkippedClassTests(runner, method, callable, rq.getEndTime(), throwable); + reportSkippedClassTests(runner, method, callable, (Instant) rq.getEndTime(), throwable); } } @@ -679,14 +688,12 @@ protected Function getLogSupplier(@Nonnull final LogLevel lev SaveLogRQ rq = new SaveLogRQ(); rq.setItemUuid(itemUuid); rq.setLevel(level.name()); - rq.setLogTime(Calendar.getInstance().getTime()); + rq.setLogTime(Instant.now()); if (thrown != null) { rq.setMessage(ExceptionUtils.getStackTrace(thrown)); } else { rq.setMessage("Test has failed without exception"); } - rq.setLogTime(Calendar.getInstance().getTime()); - return rq; }; } @@ -734,7 +741,7 @@ protected boolean isReportable(@Nonnull final FrameworkMethod method) { protected StartLaunchRQ buildStartLaunchRq(@Nonnull final ListenerParameters parameters) { StartLaunchRQ rq = new StartLaunchRQ(); rq.setName(parameters.getLaunchName()); - rq.setStartTime(Calendar.getInstance().getTime()); + rq.setStartTime(Instant.now()); Set attributes = new HashSet<>(); attributes.addAll(parameters.getAttributes()); attributes.addAll(SystemAttributesFetcher.collectSystemAttributes(parameters.getSkippedAnIssue())); @@ -760,7 +767,7 @@ protected StartLaunchRQ buildStartLaunchRq(@Nonnull final ListenerParameters par * @return Request to ReportPortal */ @Nonnull - protected StartTestItemRQ buildStartSuiteRq(@Nonnull final Object runner, @Nullable final Date startTime) { + protected StartTestItemRQ buildStartSuiteRq(@Nonnull final Object runner, @Nullable final Instant startTime) { StartTestItemRQ rq = new StartTestItemRQ(); rq.setName(getRunnerName(runner)); rq.setCodeRef(getCodeRef(runner)); @@ -778,7 +785,7 @@ protected StartTestItemRQ buildStartSuiteRq(@Nonnull final Object runner, @Nulla * @return Request to ReportPortal */ @Nonnull - protected StartTestItemRQ buildStartTestItemRq(@Nonnull final Object runner, @Nullable final Date startTime) { + protected StartTestItemRQ buildStartTestItemRq(@Nonnull final Object runner, @Nullable final Instant startTime) { StartTestItemRQ rq = new StartTestItemRQ(); rq.setName(getRunnerName(runner)); rq.setCodeRef(getCodeRef(runner)); @@ -800,14 +807,15 @@ protected StartTestItemRQ buildStartTestItemRq(@Nonnull final Object runner, @Nu */ @Nonnull protected StartTestItemRQ buildStartStepRq(@Nonnull final Object runner, @Nullable final Description description, - @Nonnull final FrameworkMethod method, @Nonnull final ReflectiveCallable callable, @Nullable final Date startTime) { + @Nonnull final FrameworkMethod method, @Nonnull final ReflectiveCallable callable, @Nullable final Instant startTime) { StartTestItemRQ rq = new StartTestItemRQ(); rq.setName(method.getName()); rq.setCodeRef(getCodeRef(method)); rq.setAttributes(getAttributes(method)); rq.setDescription(createStepDescription(description, method)); rq.setParameters(getStepParameters(method, runner, callable)); - rq.setTestCaseId(ofNullable(getTestCaseId(runner, + rq.setTestCaseId(ofNullable(getTestCaseId( + runner, method, rq.getCodeRef(), ofNullable(rq.getParameters()).map(p -> p.stream().map(ParameterResource::getValue).collect(Collectors.toList())) @@ -829,7 +837,7 @@ protected StartTestItemRQ buildStartStepRq(@Nonnull final Object runner, @Nullab @Nonnull protected FinishTestItemRQ buildFinishSuiteRq(@Nullable final TestClass testClass) { FinishTestItemRQ rq = new FinishTestItemRQ(); - rq.setEndTime(Calendar.getInstance().getTime()); + rq.setEndTime(Instant.now()); return rq; } @@ -844,12 +852,14 @@ protected FinishTestItemRQ buildFinishSuiteRq(@Nullable final TestClass testClas @Nonnull protected FinishTestItemRQ buildFinishStepRq(@Nullable final FrameworkMethod method, @Nonnull final ItemStatus status) { FinishTestItemRQ rq = new FinishTestItemRQ(); - rq.setEndTime(Calendar.getInstance().getTime()); + rq.setEndTime(Instant.now()); rq.setStatus(status.name()); if (status != ItemStatus.PASSED && testThrowable != null && method != null) { - rq.setDescription(String.format(DESCRIPTION_TEST_ERROR_FORMAT, + rq.setDescription(String.format( + DESCRIPTION_TEST_ERROR_FORMAT, createStepDescription(this.context.getTestMethodDescription(method), method), - ExceptionUtils.getStackTrace(testThrowable))); + ExceptionUtils.getStackTrace(testThrowable) + )); } return rq; } @@ -967,7 +977,7 @@ protected List getMethodParameters(@Nonnull final FrameworkMe Optional> constructor = Arrays.stream(method.getDeclaringClass().getConstructors()).findFirst(); if (constructor.isPresent()) { Object[] params = (Object[]) Accessible.on(runner).field("parameters").getValue(); - if(params != null) { + if (params != null) { result.addAll(ParameterUtils.getParameters(constructor.get(), Arrays.asList(params))); } } @@ -977,7 +987,7 @@ protected List getMethodParameters(@Nonnull final FrameworkMe } else if (callable != null) { try { Object[] params = (Object[]) Accessible.on(callable).field("val$params").getValue(); - if(params != null) { + if (params != null) { result.addAll(ParameterUtils.getParameters(method.getMethod(), Arrays.asList(params))); } } catch (NoSuchFieldException e) { @@ -1075,11 +1085,11 @@ private Set getAttributes(@Nonnull final AnnotatedElement anno */ @Nonnull protected Set getAttributes(@Nonnull final TestClass testClass) { - Stream categories = ofNullable(testClass.getAnnotation(Category.class)).map(a -> Arrays.stream(a.value()) - .map(c -> new ItemAttributesRQ(null, c.getSimpleName()))).orElse(Stream.empty()); + Stream categories = ofNullable(testClass.getAnnotation(Category.class)).stream() + .flatMap(a -> Arrays.stream(a.value()).map(c -> new ItemAttributesRQ(null, c.getSimpleName()))); Stream attributes = ofNullable(testClass.getJavaClass()).map(this::getAttributes) - .map(Set::stream) - .orElse(Stream.empty()); + .stream() + .flatMap(Collection::stream); return Stream.concat(categories, attributes).collect(Collectors.toSet()); } @@ -1091,8 +1101,8 @@ protected Set getAttributes(@Nonnull final TestClass testClass */ @Nonnull protected Set getAttributes(@Nonnull final FrameworkMethod frameworkMethod) { - Stream categories = ofNullable(frameworkMethod.getAnnotation(Category.class)).map(a -> Arrays.stream(a.value()) - .map(c -> new ItemAttributesRQ(null, c.getSimpleName()))).orElse(Stream.empty()); + Stream categories = ofNullable(frameworkMethod.getAnnotation(Category.class)).stream() + .flatMap(a -> Arrays.stream(a.value()).map(c -> new ItemAttributesRQ(null, c.getSimpleName()))); Stream attributes = ofNullable(frameworkMethod.getMethod()).map(this::getAttributes) .orElse(Collections.emptySet()) .stream(); diff --git a/src/main/java/com/epam/reportportal/junit/utils/ItemTreeUtils.java b/src/main/java/com/epam/reportportal/junit/utils/ItemTreeUtils.java index 1fb72cf..b76bc69 100644 --- a/src/main/java/com/epam/reportportal/junit/utils/ItemTreeUtils.java +++ b/src/main/java/com/epam/reportportal/junit/utils/ItemTreeUtils.java @@ -19,11 +19,11 @@ import com.epam.reportportal.service.tree.TestItemTree; import com.epam.ta.reportportal.ws.model.ParameterResource; import com.nordstrom.automation.junit.AtomicTest; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; import org.junit.runner.Description; import org.junit.runners.model.FrameworkMethod; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; @@ -70,7 +70,7 @@ public static TestItemTree.ItemTreeKey createItemTreeKey(@Nonnull AtomicTest tes @Nonnull public static TestItemTree.ItemTreeKey createItemTreeKey(@Nonnull Description description) { String fullName = description.getTestClass().getName() + "." + description.getMethodName(); - return TestItemTree.ItemTreeKey.of(fullName,fullName.hashCode()); + return TestItemTree.ItemTreeKey.of(fullName, fullName.hashCode()); } @Nullable diff --git a/src/main/java/com/epam/reportportal/junit/utils/SystemAttributesFetcher.java b/src/main/java/com/epam/reportportal/junit/utils/SystemAttributesFetcher.java index a47aa9c..d559cb4 100644 --- a/src/main/java/com/epam/reportportal/junit/utils/SystemAttributesFetcher.java +++ b/src/main/java/com/epam/reportportal/junit/utils/SystemAttributesFetcher.java @@ -42,7 +42,8 @@ private static ItemAttributesRQ skippedIssue(Boolean skippedAnIssue) { } public static Set collectSystemAttributes(Boolean skippedAnIssue) { - Set systemAttributes = SystemAttributesExtractor.extract(PROPS_FILE, + Set systemAttributes = SystemAttributesExtractor.extract( + PROPS_FILE, SystemAttributesFetcher.class.getClassLoader() ); systemAttributes.add(skippedIssue(skippedAnIssue)); diff --git a/src/test/java/com/epam/reportportal/junit/CodeReferenceTest.java b/src/test/java/com/epam/reportportal/junit/CodeReferenceTest.java index 7519bf3..534d832 100644 --- a/src/test/java/com/epam/reportportal/junit/CodeReferenceTest.java +++ b/src/test/java/com/epam/reportportal/junit/CodeReferenceTest.java @@ -24,11 +24,13 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -42,14 +44,20 @@ public class CodeReferenceTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_static_test_code_reference_generation() { TestUtils.runClasses(CodeRefTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/ItemTimeOrderTest.java b/src/test/java/com/epam/reportportal/junit/ItemTimeOrderTest.java index 3a28421..025df15 100644 --- a/src/test/java/com/epam/reportportal/junit/ItemTimeOrderTest.java +++ b/src/test/java/com/epam/reportportal/junit/ItemTimeOrderTest.java @@ -21,14 +21,18 @@ import com.epam.reportportal.service.ReportPortal; import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; +import com.epam.ta.reportportal.ws.model.ApiInfo; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; +import io.reactivex.Maybe; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; -import java.util.Date; +import java.time.Instant; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -56,15 +60,26 @@ public class ItemTimeOrderTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, firstSuiteId, secondSuiteId, classIds); TestUtils.mockNestedSteps(client, tests); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ApiInfo info = new ApiInfo(); + ApiInfo.Build build = new ApiInfo.Build(); + info.setBuild(build); + build.setVersion("5.13.2"); + when(client.getApiInfo()).thenReturn(Maybe.just(info)); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_test_hierarchy_on_suite_of_suites() { TestUtils.runClasses(SuiteOfSuitesClass.class); @@ -82,17 +97,20 @@ public void verify_test_hierarchy_on_suite_of_suites() { verify(client, timeout(PROCESSING_TIMEOUT)).startTestItem(same(classIds.get(0)), stepCaptor.capture()); verify(client, timeout(PROCESSING_TIMEOUT)).startTestItem(same(classIds.get(1)), stepCaptor.capture()); - Date previousDate = null; + Instant previousDate = null; List testItems = testCaptor.getAllValues(); List suites = Stream.concat(suiteCaptor.getAllValues().stream(), testItems.stream()).collect(Collectors.toList()); for (StartTestItemRQ item : suites) { - Date parentDate = ofNullable(previousDate).orElseGet(() -> suites.get(0).getStartTime()); - Date itemDate = item.getStartTime(); - assertThat(item.getStartTime(), greaterThanOrEqualTo(parentDate)); + Instant parentDate = ofNullable(previousDate).orElseGet(() -> (Instant) suites.get(0).getStartTime()); + Instant itemDate = (Instant) item.getStartTime(); + assertThat((Instant) item.getStartTime(), greaterThanOrEqualTo(parentDate)); previousDate = itemDate; } List steps = stepCaptor.getAllValues(); IntStream.range(0, TEST_NUMBER) - .forEach(i -> assertThat(steps.get(i).getStartTime(), greaterThanOrEqualTo(testItems.get(i).getStartTime()))); + .forEach(i -> assertThat( + (Instant) steps.get(i).getStartTime(), + greaterThanOrEqualTo((Instant) testItems.get(i).getStartTime()) + )); } } diff --git a/src/test/java/com/epam/reportportal/junit/assumption/AssumptionSkipTest.java b/src/test/java/com/epam/reportportal/junit/assumption/AssumptionSkipTest.java index ca3fe6d..b255c74 100644 --- a/src/test/java/com/epam/reportportal/junit/assumption/AssumptionSkipTest.java +++ b/src/test/java/com/epam/reportportal/junit/assumption/AssumptionSkipTest.java @@ -28,10 +28,12 @@ import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import okhttp3.MultipartBody; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -47,11 +49,18 @@ public class AssumptionSkipTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/assumption/AssumptionViolatedInBeforeTest.java b/src/test/java/com/epam/reportportal/junit/assumption/AssumptionViolatedInBeforeTest.java index 7315253..72cc45d 100644 --- a/src/test/java/com/epam/reportportal/junit/assumption/AssumptionViolatedInBeforeTest.java +++ b/src/test/java/com/epam/reportportal/junit/assumption/AssumptionViolatedInBeforeTest.java @@ -28,10 +28,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -51,11 +53,18 @@ public class AssumptionViolatedInBeforeTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/assumption/ParameterizedAssumptionSkipTest.java b/src/test/java/com/epam/reportportal/junit/assumption/ParameterizedAssumptionSkipTest.java index 0299baa..7cb2fbd 100644 --- a/src/test/java/com/epam/reportportal/junit/assumption/ParameterizedAssumptionSkipTest.java +++ b/src/test/java/com/epam/reportportal/junit/assumption/ParameterizedAssumptionSkipTest.java @@ -28,10 +28,12 @@ import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import okhttp3.MultipartBody; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -48,11 +50,18 @@ public class ParameterizedAssumptionSkipTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/attribute/ClassKvAttributeTest.java b/src/test/java/com/epam/reportportal/junit/attribute/ClassKvAttributeTest.java index 6ebf4e8..e3d5817 100644 --- a/src/test/java/com/epam/reportportal/junit/attribute/ClassKvAttributeTest.java +++ b/src/test/java/com/epam/reportportal/junit/attribute/ClassKvAttributeTest.java @@ -25,6 +25,7 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; @@ -40,12 +41,18 @@ public class ClassKvAttributeTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/attribute/KvAttributeTest.java b/src/test/java/com/epam/reportportal/junit/attribute/KvAttributeTest.java index f3093fe..208b256 100644 --- a/src/test/java/com/epam/reportportal/junit/attribute/KvAttributeTest.java +++ b/src/test/java/com/epam/reportportal/junit/attribute/KvAttributeTest.java @@ -25,6 +25,7 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -40,11 +41,18 @@ public class KvAttributeTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/attribute/MultipleKvAttributeTest.java b/src/test/java/com/epam/reportportal/junit/attribute/MultipleKvAttributeTest.java index 00faccc..f699103 100644 --- a/src/test/java/com/epam/reportportal/junit/attribute/MultipleKvAttributeTest.java +++ b/src/test/java/com/epam/reportportal/junit/attribute/MultipleKvAttributeTest.java @@ -25,10 +25,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Set; +import java.util.concurrent.ExecutorService; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; @@ -41,11 +43,18 @@ public class MultipleKvAttributeTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/attribute/MultipleVAttributeTest.java b/src/test/java/com/epam/reportportal/junit/attribute/MultipleVAttributeTest.java index 58a43e2..13fb833 100644 --- a/src/test/java/com/epam/reportportal/junit/attribute/MultipleVAttributeTest.java +++ b/src/test/java/com/epam/reportportal/junit/attribute/MultipleVAttributeTest.java @@ -25,10 +25,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Set; +import java.util.concurrent.ExecutorService; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; @@ -41,11 +43,18 @@ public class MultipleVAttributeTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/attribute/SystemAttributesFetchTest.java b/src/test/java/com/epam/reportportal/junit/attribute/SystemAttributesFetchTest.java index fd1cd24..57d4972 100644 --- a/src/test/java/com/epam/reportportal/junit/attribute/SystemAttributesFetchTest.java +++ b/src/test/java/com/epam/reportportal/junit/attribute/SystemAttributesFetchTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import com.epam.ta.reportportal.ws.model.launch.StartLaunchRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.Set; import java.util.stream.Collectors; @@ -45,11 +47,18 @@ public class SystemAttributesFetchTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/AfterClassFailedInParameterizedTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/AfterClassFailedInParameterizedTest.java index 3a90cb0..109f0fb 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/AfterClassFailedInParameterizedTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/AfterClassFailedInParameterizedTest.java @@ -25,10 +25,12 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -48,11 +50,18 @@ public class AfterClassFailedInParameterizedTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/AfterEachFailedInParameterizedTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/AfterEachFailedInParameterizedTest.java index 156afd1..a56168e 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/AfterEachFailedInParameterizedTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/AfterEachFailedInParameterizedTest.java @@ -25,10 +25,12 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -48,11 +50,18 @@ public class AfterEachFailedInParameterizedTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInParameterizedTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInParameterizedTest.java index 5b7238b..9849295 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInParameterizedTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInParameterizedTest.java @@ -23,9 +23,11 @@ import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -43,11 +45,18 @@ public class BeforeClassFailedInParameterizedTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInTest.java index 173d53c..ad13110 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeClassFailedInTest.java @@ -23,9 +23,11 @@ import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -43,11 +45,18 @@ public class BeforeClassFailedInTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedInParameterizedTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedInParameterizedTest.java index 6d3f777..3545f99 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedInParameterizedTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedInParameterizedTest.java @@ -28,10 +28,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -51,33 +53,29 @@ public class BeforeEachFailedInParameterizedTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create( - client, - TestUtils.standardParameters(), - TestUtils.testExecutor() - )); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_before_each_failure_in_parameterized_test() { TestUtils.runClasses(BeforeEachFailedForSecondParameterTest.class); ArgumentCaptor startCapture = ArgumentCaptor.forClass(StartTestItemRQ.class); - verify(client, timeout(PROCESSING_TIMEOUT).times(TEST_METHOD_NUMBER)).startTestItem( - same(classId), - startCapture.capture() - ); + verify(client, timeout(PROCESSING_TIMEOUT).times(TEST_METHOD_NUMBER)).startTestItem(same(classId), startCapture.capture()); ArgumentCaptor finishCaptor = ArgumentCaptor.forClass(FinishTestItemRQ.class); - methodIds.forEach(id -> verify(client, timeout(PROCESSING_TIMEOUT)).finishTestItem( - same(id), - finishCaptor.capture() - )); + methodIds.forEach(id -> verify(client, timeout(PROCESSING_TIMEOUT)).finishTestItem(same(id), finishCaptor.capture())); StartTestItemRQ startRq = startCapture.getAllValues().get(3); assertThat(startRq.getType(), equalTo(ItemType.STEP.name())); diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedParameterizedTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedParameterizedTest.java index 4aa1a1c..88a4259 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedParameterizedTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedParameterizedTest.java @@ -28,10 +28,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; @@ -44,23 +46,23 @@ public class BeforeEachFailedParameterizedTest { private final String classId = CommonUtils.namedId("class_"); - private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")) - .limit(4) - .collect(Collectors.toList()); + private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(4).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create( - client, - TestUtils.standardParameters(), - TestUtils.testExecutor() - )); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void agent_should_report_skipped_parametrized_tests_in_case_of_failed_before_each() { TestUtils.runClasses(BeforeFailedParametrizedTest.class); @@ -74,11 +76,7 @@ public void agent_should_report_skipped_parametrized_tests_in_case_of_failed_bef verify(client, timeout(PROCESSING_TIMEOUT)).finishTestItem(same(methodIds.get(3)), finishCaptor.capture()); List startItems = startCaptor.getAllValues(); - assertThat( - "There are 6 item created: parent suite, suite, 2 @BeforeEach, @Test 1 and @Test 2", - startItems, - hasSize(4) - ); + assertThat("There are 6 item created: parent suite, suite, 2 @BeforeEach, @Test 1 and @Test 2", startItems, hasSize(4)); List finishItems = finishCaptor.getAllValues(); FinishTestItemRQ beforeEachFinish = finishItems.get(0); @@ -87,7 +85,8 @@ public void agent_should_report_skipped_parametrized_tests_in_case_of_failed_bef IntStream.rangeClosed(0, 1).boxed().forEach(i -> { StartTestItemRQ testStart = startItems.get(1 + (i * 2)); - assertThat("@Test has correct code reference", + assertThat( + "@Test has correct code reference", testStart.getCodeRef(), equalTo(BeforeFailedParametrizedTest.class.getCanonicalName() + ".testBeforeEachFailed") ); @@ -97,11 +96,7 @@ public void agent_should_report_skipped_parametrized_tests_in_case_of_failed_bef FinishTestItemRQ testFinish = finishItems.get(1 + (i * 2)); assertThat("@Test reported as skipped", testFinish.getStatus(), equalTo(ItemStatus.SKIPPED.name())); assertThat("@Test has 'Issue' field", testFinish.getIssue(), notNullValue()); - assertThat( - "@Test issue muted", - testFinish.getIssue().getIssueType(), - equalTo(Launch.NOT_ISSUE.getIssueType()) - ); + assertThat("@Test issue muted", testFinish.getIssue().getIssueType(), equalTo(Launch.NOT_ISSUE.getIssueType())); }); } diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedTest.java b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedTest.java index 6864031..a3942fe 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedTest.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachFailedTest.java @@ -27,10 +27,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -43,23 +45,23 @@ public class BeforeEachFailedTest { private final String classId = CommonUtils.namedId("class_"); - private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")) - .limit(2) - .collect(Collectors.toList()); + private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create( - client, - TestUtils.standardParameters(), - TestUtils.testExecutor() - )); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void agent_should_report_skipped_test_in_case_of_failed_before_each() { TestUtils.runClasses(BeforeFailedTest.class); @@ -78,7 +80,8 @@ public void agent_should_report_skipped_test_in_case_of_failed_before_each() { assertThat("@BeforeEach failed", beforeEachFinish.getStatus(), equalTo("FAILED")); StartTestItemRQ testStart = startItems.get(1); - assertThat("@Test has correct code reference", + assertThat( + "@Test has correct code reference", testStart.getCodeRef(), equalTo(BeforeFailedTest.class.getCanonicalName() + ".testBeforeEachFailed") ); diff --git a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachTwoTests.java b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachTwoTests.java index 589507b..f69526b 100644 --- a/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachTwoTests.java +++ b/src/test/java/com/epam/reportportal/junit/beforeafter/BeforeEachTwoTests.java @@ -27,10 +27,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -47,14 +49,20 @@ public class BeforeEachTwoTests { private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(4).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void agent_should_report_two_before_each_methods_in_one_test_correctly() { TestUtils.runClasses(BeforeTwoTests.class); @@ -73,7 +81,8 @@ public void agent_should_report_two_before_each_methods_in_one_test_correctly() List beforeStarts = Arrays.asList(startItems.get(0), startItems.get(2)); beforeStarts.forEach(e -> { - assertThat("@Before has correct code reference", + assertThat( + "@Before has correct code reference", e.getCodeRef(), equalTo(BeforeTwoTests.class.getCanonicalName() + ".beforeEach") ); diff --git a/src/test/java/com/epam/reportportal/junit/callback/CallbackLogTest.java b/src/test/java/com/epam/reportportal/junit/callback/CallbackLogTest.java index b9df53f..b32fdd3 100644 --- a/src/test/java/com/epam/reportportal/junit/callback/CallbackLogTest.java +++ b/src/test/java/com/epam/reportportal/junit/callback/CallbackLogTest.java @@ -25,10 +25,12 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -42,16 +44,22 @@ public class CallbackLogTest { private final String classId = CommonUtils.namedId("class_"); private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); TestUtils.mockSingleLogging(client); - ListenerParameters params = TestUtils.standardParameters(); - ReportPortalListener.setReportPortal(ReportPortal.create(client, params, TestUtils.testExecutor())); + ListenerParameters params = TestUtils.standardParameters(); + ReportPortalListener.setReportPortal(ReportPortal.create(client, params, executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_test_item_callback_log() { TestUtils.runClasses(CallbackLogFeatureTest.class); @@ -68,7 +76,8 @@ public void verify_test_item_callback_log() { .filter(r -> methodIds.get(0).equals(r.getItemUuid())) .collect(Collectors.toList()); - assertThat(logs.stream().filter(l -> CallbackLogFeatureTest.LOG_MESSAGE.equals(l.getMessage())).collect(Collectors.toList()), + assertThat( + logs.stream().filter(l -> CallbackLogFeatureTest.LOG_MESSAGE.equals(l.getMessage())).collect(Collectors.toList()), hasSize(1) ); } diff --git a/src/test/java/com/epam/reportportal/junit/callback/CallbackStatusChangeTest.java b/src/test/java/com/epam/reportportal/junit/callback/CallbackStatusChangeTest.java index 2b29013..807204c 100644 --- a/src/test/java/com/epam/reportportal/junit/callback/CallbackStatusChangeTest.java +++ b/src/test/java/com/epam/reportportal/junit/callback/CallbackStatusChangeTest.java @@ -25,33 +25,41 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static org.mockito.Mockito.any; import static org.mockito.Mockito.*; +import static org.mockito.Mockito.any; public class CallbackStatusChangeTest { private final String classId = CommonUtils.namedId("class_"); private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ListenerParameters params = TestUtils.standardParameters(); - ReportPortalListener.setReportPortal(ReportPortal.create(client, params, TestUtils.testExecutor())); + ListenerParameters params = TestUtils.standardParameters(); + ReportPortalListener.setReportPortal(ReportPortal.create(client, params, executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_test_item_status_change() { TestUtils.runClasses(CallbackFeatureTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/callback/FailedDescriptionTest.java b/src/test/java/com/epam/reportportal/junit/callback/FailedDescriptionTest.java index 6d58d36..c17487c 100644 --- a/src/test/java/com/epam/reportportal/junit/callback/FailedDescriptionTest.java +++ b/src/test/java/com/epam/reportportal/junit/callback/FailedDescriptionTest.java @@ -1,14 +1,5 @@ package com.epam.reportportal.junit.callback; -import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.startsWith; -import static org.mockito.ArgumentMatchers.same; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.timeout; -import static org.mockito.Mockito.verify; - import com.epam.reportportal.junit.ReportPortalListener; import com.epam.reportportal.junit.features.callback.FailedDescriptionFeatureTest; import com.epam.reportportal.junit.utils.TestUtils; @@ -18,74 +9,99 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; +import org.mockito.ArgumentCaptor; + import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.NoSuchElementException; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; + +import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.startsWith; +import static org.mockito.ArgumentMatchers.same; +import static org.mockito.Mockito.*; public class FailedDescriptionTest { - private final String suiteId = CommonUtils.namedId("suite_"); - private final String classId = CommonUtils.namedId("class_"); - private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); - private final ReportPortalClient client = mock(ReportPortalClient.class); - private final String testWithDescriptionAndAssertException = "testWithDescriptionAndAssertException"; - private final String testWithDescriptionAndStepError = "testWithDescriptionAndStepError"; - private final String testWithDescriptionAndException = "testWithDescriptionAndException"; - private final String testErrorMessagePattern = "%s(com.epam.reportportal.junit.features.callback.FailedDescriptionFeatureTest)\nError: \n%s"; - private final String assertErrorMessage = "java.lang.AssertionError: expected:<0> but was:<1>"; - private final String exceptionStepErrorMessage = "java.util.NoSuchElementException: Test error message"; - private final String exceptionErrorMessage = "java.lang.RuntimeException: Test error message"; - private final String failedStatus = "FAILED"; - private final String passedStatus = "PASSED"; + private final String suiteId = CommonUtils.namedId("suite_"); + private final String classId = CommonUtils.namedId("class_"); + private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); + private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + private final String testWithDescriptionAndAssertException = "testWithDescriptionAndAssertException"; + private final String testWithDescriptionAndStepError = "testWithDescriptionAndStepError"; + private final String testWithDescriptionAndException = "testWithDescriptionAndException"; + private final String testErrorMessagePattern = "%s(com.epam.reportportal.junit.features.callback.FailedDescriptionFeatureTest)\nError: \n%s"; + private final String assertErrorMessage = "java.lang.AssertionError: expected:<0> but was:<1>"; + private final String exceptionStepErrorMessage = "java.util.NoSuchElementException: Test error message"; + private final String exceptionErrorMessage = "java.lang.RuntimeException: Test error message"; + private final String failedStatus = "FAILED"; + private final String passedStatus = "PASSED"; + + @BeforeEach + public void setupMock() { + TestUtils.mockLaunch(client, null, suiteId, classId, methodIds); + TestUtils.mockBatchLogging(client); + ListenerParameters params = TestUtils.standardParameters(); + ReportPortalListener.setReportPortal(ReportPortal.create(client, params, executor)); + } - @BeforeEach - public void setupMock() { - TestUtils.mockLaunch(client, null, suiteId, classId, methodIds); - TestUtils.mockBatchLogging(client); - ListenerParameters params = TestUtils.standardParameters(); - ReportPortalListener.setReportPortal(ReportPortal.create(client, params, TestUtils.testExecutor())); - } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } - @Test - public void verify_retrieve_by_description() { - TestUtils.runClasses(FailedDescriptionFeatureTest.class); + @Test + public void verify_retrieve_by_description() { + TestUtils.runClasses(FailedDescriptionFeatureTest.class); - ArgumentCaptor startTestCaptor = ArgumentCaptor.forClass(StartTestItemRQ.class); - verify(client, timeout(PROCESSING_TIMEOUT).atLeastOnce()).startTestItem(same(suiteId), startTestCaptor.capture()); + ArgumentCaptor startTestCaptor = ArgumentCaptor.forClass(StartTestItemRQ.class); + verify(client, timeout(PROCESSING_TIMEOUT).atLeastOnce()).startTestItem(same(suiteId), startTestCaptor.capture()); - ArgumentCaptor finishTestCaptor = ArgumentCaptor.forClass(FinishTestItemRQ.class); - verify(client, timeout(PROCESSING_TIMEOUT).atLeastOnce()).finishTestItem(same(classId), finishTestCaptor.capture()); + ArgumentCaptor finishTestCaptor = ArgumentCaptor.forClass(FinishTestItemRQ.class); + verify(client, timeout(PROCESSING_TIMEOUT).atLeastOnce()).finishTestItem(same(classId), finishTestCaptor.capture()); - List finishTests = finishTestCaptor.getAllValues(); - FinishTestItemRQ testCaseWithDescriptionAndAssertException = finishTests.stream() - .filter(f -> f.getDescription().startsWith(testWithDescriptionAndAssertException)) - .findFirst() - .orElseThrow(NoSuchElementException::new); - FinishTestItemRQ testCaseWithDescriptionAndStepError = finishTests.stream() - .filter(f -> f.getDescription().startsWith(testWithDescriptionAndStepError)) - .findFirst() - .orElseThrow(NoSuchElementException::new); - FinishTestItemRQ tesCaseWithDescriptionAndException = finishTests.stream() - .filter(f -> f.getDescription().startsWith(testWithDescriptionAndException)) - .findFirst() - .orElseThrow(NoSuchElementException::new); - FinishTestItemRQ tesCaseWithDescriptionAndPassed = finishTests.stream() - .filter(f -> f.getDescription() == null) - .findFirst() - .orElseThrow(NoSuchElementException::new); + List finishTests = finishTestCaptor.getAllValues(); + FinishTestItemRQ testCaseWithDescriptionAndAssertException = finishTests.stream() + .filter(f -> f.getDescription().startsWith(testWithDescriptionAndAssertException)) + .findFirst() + .orElseThrow(NoSuchElementException::new); + FinishTestItemRQ testCaseWithDescriptionAndStepError = finishTests.stream() + .filter(f -> f.getDescription().startsWith(testWithDescriptionAndStepError)) + .findFirst() + .orElseThrow(NoSuchElementException::new); + FinishTestItemRQ tesCaseWithDescriptionAndException = finishTests.stream() + .filter(f -> f.getDescription().startsWith(testWithDescriptionAndException)) + .findFirst() + .orElseThrow(NoSuchElementException::new); + FinishTestItemRQ tesCaseWithDescriptionAndPassed = finishTests.stream() + .filter(f -> f.getDescription() == null) + .findFirst() + .orElseThrow(NoSuchElementException::new); - assertThat(testCaseWithDescriptionAndAssertException.getDescription(), startsWith(String.format(testErrorMessagePattern, testWithDescriptionAndAssertException, assertErrorMessage))); - assertThat(testCaseWithDescriptionAndAssertException.getStatus(), equalTo(failedStatus)); + assertThat( + testCaseWithDescriptionAndAssertException.getDescription(), + startsWith(String.format(testErrorMessagePattern, testWithDescriptionAndAssertException, assertErrorMessage)) + ); + assertThat(testCaseWithDescriptionAndAssertException.getStatus(), equalTo(failedStatus)); - assertThat(testCaseWithDescriptionAndStepError.getDescription(), startsWith(String.format(testErrorMessagePattern, testWithDescriptionAndStepError, exceptionStepErrorMessage))); - assertThat(testCaseWithDescriptionAndStepError.getStatus(), equalTo(failedStatus)); + assertThat( + testCaseWithDescriptionAndStepError.getDescription(), + startsWith(String.format(testErrorMessagePattern, testWithDescriptionAndStepError, exceptionStepErrorMessage)) + ); + assertThat(testCaseWithDescriptionAndStepError.getStatus(), equalTo(failedStatus)); - assertThat(tesCaseWithDescriptionAndException.getDescription(), startsWith(String.format(testErrorMessagePattern, testWithDescriptionAndException, exceptionErrorMessage))); - assertThat(tesCaseWithDescriptionAndException.getStatus(), equalTo(failedStatus)); + assertThat( + tesCaseWithDescriptionAndException.getDescription(), + startsWith(String.format(testErrorMessagePattern, testWithDescriptionAndException, exceptionErrorMessage)) + ); + assertThat(tesCaseWithDescriptionAndException.getStatus(), equalTo(failedStatus)); - assertThat(tesCaseWithDescriptionAndPassed.getStatus(), equalTo(passedStatus)); - } + assertThat(tesCaseWithDescriptionAndPassed.getStatus(), equalTo(passedStatus)); + } } diff --git a/src/test/java/com/epam/reportportal/junit/callback/RetrieveByDescriptionTest.java b/src/test/java/com/epam/reportportal/junit/callback/RetrieveByDescriptionTest.java index e3962c0..58a2b1e 100644 --- a/src/test/java/com/epam/reportportal/junit/callback/RetrieveByDescriptionTest.java +++ b/src/test/java/com/epam/reportportal/junit/callback/RetrieveByDescriptionTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -45,15 +47,21 @@ public class RetrieveByDescriptionTest { private final String classId = CommonUtils.namedId("class_"); private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ListenerParameters params = TestUtils.standardParameters(); - ReportPortalListener.setReportPortal(ReportPortal.create(client, params, TestUtils.testExecutor())); + ListenerParameters params = TestUtils.standardParameters(); + ReportPortalListener.setReportPortal(ReportPortal.create(client, params, executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_retrieve_by_description() { TestUtils.runClasses(RetrieveByDescriptionFeatureTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/category/ClassCategoryTest.java b/src/test/java/com/epam/reportportal/junit/category/ClassCategoryTest.java index 5dee3dd..98f5b12 100644 --- a/src/test/java/com/epam/reportportal/junit/category/ClassCategoryTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/ClassCategoryTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.List; +import java.util.concurrent.ExecutorService; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; @@ -44,11 +46,18 @@ public class ClassCategoryTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/category/ClassTwoCategoriesTest.java b/src/test/java/com/epam/reportportal/junit/category/ClassTwoCategoriesTest.java index d5af1d1..4b294b2 100644 --- a/src/test/java/com/epam/reportportal/junit/category/ClassTwoCategoriesTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/ClassTwoCategoriesTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.Set; import java.util.stream.Collectors; @@ -45,12 +47,18 @@ public class ClassTwoCategoriesTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test @@ -67,10 +75,12 @@ public void verify_class_categories_go_to_value_only_attributes() { StartTestItemRQ item = items.get(0); assertThat(item.getAttributes(), allOf(notNullValue(), hasSize(2))); Set attributes = item.getAttributes(); - assertThat(attributes.stream().filter(a -> Smoke.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), + assertThat( + attributes.stream().filter(a -> Smoke.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), hasSize(1) ); - assertThat(attributes.stream().filter(a -> Stable.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), + assertThat( + attributes.stream().filter(a -> Stable.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), hasSize(1) ); } diff --git a/src/test/java/com/epam/reportportal/junit/category/MethodCategoryTest.java b/src/test/java/com/epam/reportportal/junit/category/MethodCategoryTest.java index 3c7e0eb..9638107 100644 --- a/src/test/java/com/epam/reportportal/junit/category/MethodCategoryTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/MethodCategoryTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.List; +import java.util.concurrent.ExecutorService; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; @@ -44,11 +46,18 @@ public class MethodCategoryTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/category/MethodTwoCategoriesTest.java b/src/test/java/com/epam/reportportal/junit/category/MethodTwoCategoriesTest.java index c6f363b..b4929c8 100644 --- a/src/test/java/com/epam/reportportal/junit/category/MethodTwoCategoriesTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/MethodTwoCategoriesTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.Set; import java.util.stream.Collectors; @@ -45,12 +47,18 @@ public class MethodTwoCategoriesTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test @@ -67,10 +75,12 @@ public void verify_method_categories_go_to_value_only_attributes() { StartTestItemRQ item = items.get(1); assertThat(item.getAttributes(), allOf(notNullValue(), hasSize(2))); Set attributes = item.getAttributes(); - assertThat(attributes.stream().filter(a -> Smoke.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), + assertThat( + attributes.stream().filter(a -> Smoke.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), hasSize(1) ); - assertThat(attributes.stream().filter(a -> Stable.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), + assertThat( + attributes.stream().filter(a -> Stable.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), hasSize(1) ); } diff --git a/src/test/java/com/epam/reportportal/junit/category/NoAnyCategoryTest.java b/src/test/java/com/epam/reportportal/junit/category/NoAnyCategoryTest.java index a64f5e3..0f74994 100644 --- a/src/test/java/com/epam/reportportal/junit/category/NoAnyCategoryTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/NoAnyCategoryTest.java @@ -25,9 +25,11 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; +import java.util.concurrent.ExecutorService; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; @@ -41,11 +43,18 @@ public class NoAnyCategoryTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/category/SuiteCategoryTest.java b/src/test/java/com/epam/reportportal/junit/category/SuiteCategoryTest.java index 9deeaae..d58c81d 100644 --- a/src/test/java/com/epam/reportportal/junit/category/SuiteCategoryTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/SuiteCategoryTest.java @@ -26,9 +26,11 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; +import java.util.concurrent.ExecutorService; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; @@ -42,11 +44,18 @@ public class SuiteCategoryTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, suiteId, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/category/SuiteTwoCategoriesTest.java b/src/test/java/com/epam/reportportal/junit/category/SuiteTwoCategoriesTest.java index 4f60e5f..6521fec 100644 --- a/src/test/java/com/epam/reportportal/junit/category/SuiteTwoCategoriesTest.java +++ b/src/test/java/com/epam/reportportal/junit/category/SuiteTwoCategoriesTest.java @@ -27,11 +27,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.Set; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -45,14 +47,20 @@ public class SuiteTwoCategoriesTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, suiteId, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_suite_categories_go_to_value_only_attributes() { TestUtils.runClasses(SuiteTwoCategories.class); @@ -70,10 +78,12 @@ public void verify_suite_categories_go_to_value_only_attributes() { StartTestItemRQ suite = suiteCaptor.getValue(); assertThat(suite.getAttributes(), allOf(notNullValue(), hasSize(2))); Set attributes = suite.getAttributes(); - assertThat(attributes.stream().filter(a -> Smoke.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), + assertThat( + attributes.stream().filter(a -> Smoke.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), hasSize(1) ); - assertThat(attributes.stream().filter(a -> Stable.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), + assertThat( + attributes.stream().filter(a -> Stable.class.getSimpleName().equals(a.getValue())).collect(Collectors.toList()), hasSize(1) ); diff --git a/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionFailedTest.java b/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionFailedTest.java index e490bda..0114080 100644 --- a/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionFailedTest.java +++ b/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionFailedTest.java @@ -27,11 +27,13 @@ import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import okhttp3.MultipartBody; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -50,11 +52,18 @@ public class ExpectedExceptionFailedTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionPassedTest.java b/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionPassedTest.java index 24ed810..6b90143 100644 --- a/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionPassedTest.java +++ b/src/test/java/com/epam/reportportal/junit/exception/ExpectedExceptionPassedTest.java @@ -25,11 +25,13 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.util.List; +import java.util.concurrent.ExecutorService; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; @@ -44,11 +46,18 @@ public class ExpectedExceptionPassedTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/features/callback/CallbackFeatureTest.java b/src/test/java/com/epam/reportportal/junit/features/callback/CallbackFeatureTest.java index c5ccfa3..42a6edd 100644 --- a/src/test/java/com/epam/reportportal/junit/features/callback/CallbackFeatureTest.java +++ b/src/test/java/com/epam/reportportal/junit/features/callback/CallbackFeatureTest.java @@ -28,7 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Calendar; +import java.time.Instant; public class CallbackFeatureTest { @@ -44,7 +44,8 @@ public void someTest() { @After public void afterMethod() { TestItemTree tree = ParallelRunningContext.getCurrent().getItemTree(); - TestItemTree.TestItemLeaf testItemLeaf = ItemTreeUtils.retrieveLeaf(getClass().getCanonicalName() + ".someTest", + TestItemTree.TestItemLeaf testItemLeaf = ItemTreeUtils.retrieveLeaf( + getClass().getCanonicalName() + ".someTest", ParallelRunningContext.getCurrent().getItemTree() ); if (testItemLeaf != null) { @@ -57,7 +58,7 @@ public void afterMethod() { private void finishWithStatus(String status, TestItemTree tree, TestItemTree.TestItemLeaf testItemLeaf) { FinishTestItemRQ finishTestItemRQ = new FinishTestItemRQ(); finishTestItemRQ.setStatus(status); - finishTestItemRQ.setEndTime(Calendar.getInstance().getTime()); + finishTestItemRQ.setEndTime(Instant.now()); ItemTreeReporter.finishItem(ReportPortalListener.getReportPortal().getClient(), finishTestItemRQ, tree.getLaunchId(), testItemLeaf) .cache() .blockingGet(); diff --git a/src/test/java/com/epam/reportportal/junit/features/callback/CallbackLogFeatureTest.java b/src/test/java/com/epam/reportportal/junit/features/callback/CallbackLogFeatureTest.java index 610b474..499c39b 100644 --- a/src/test/java/com/epam/reportportal/junit/features/callback/CallbackLogFeatureTest.java +++ b/src/test/java/com/epam/reportportal/junit/features/callback/CallbackLogFeatureTest.java @@ -27,8 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Calendar; -import java.util.Date; +import java.time.Instant; public class CallbackLogFeatureTest { @@ -36,7 +35,7 @@ public class CallbackLogFeatureTest { public static final String ERROR_LOG_LEVEL = "Error"; public static final String LOG_MESSAGE = "Error log message"; - public static final Date LOG_TIME = Calendar.getInstance().getTime(); + public static final Instant LOG_TIME = Instant.now(); @Test public void someTest() { diff --git a/src/test/java/com/epam/reportportal/junit/features/callback/FailedDescriptionFeatureTest.java b/src/test/java/com/epam/reportportal/junit/features/callback/FailedDescriptionFeatureTest.java index 770d514..1f45db9 100644 --- a/src/test/java/com/epam/reportportal/junit/features/callback/FailedDescriptionFeatureTest.java +++ b/src/test/java/com/epam/reportportal/junit/features/callback/FailedDescriptionFeatureTest.java @@ -1,45 +1,46 @@ package com.epam.reportportal.junit.features.callback; import com.epam.reportportal.annotations.Step; -import java.util.NoSuchElementException; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.NoSuchElementException; + public class FailedDescriptionFeatureTest { - private static final Logger LOGGER = LoggerFactory.getLogger(RetrieveByDescriptionFeatureTest.class); - - @Test - public void testWithDescriptionAndException() { - throw new RuntimeException("Test error message"); - } - - @Test - public void testWithDescriptionAndAssertException() { - Assert.assertEquals(0, 1); - } - - @Test - public void testWithDescriptionAndStepError() { - loginWithException(); - Assert.assertTrue(true); - } - - @Test - public void testWithDescriptionAndPassed() { - login(); - Assert.assertTrue(true); - } - - @Step - public void login() { - LOGGER.info("Login class method"); - } - - @Step - public void loginWithException() { - throw new NoSuchElementException("Test error message"); - } + private static final Logger LOGGER = LoggerFactory.getLogger(RetrieveByDescriptionFeatureTest.class); + + @Test + public void testWithDescriptionAndException() { + throw new RuntimeException("Test error message"); + } + + @Test + public void testWithDescriptionAndAssertException() { + Assert.assertEquals(0, 1); + } + + @Test + public void testWithDescriptionAndStepError() { + loginWithException(); + Assert.assertTrue(true); + } + + @Test + public void testWithDescriptionAndPassed() { + login(); + Assert.assertTrue(true); + } + + @Step + public void login() { + LOGGER.info("Login class method"); + } + + @Step + public void loginWithException() { + throw new NoSuchElementException("Test error message"); + } } diff --git a/src/test/java/com/epam/reportportal/junit/features/callback/RetrieveByDescriptionFeatureTest.java b/src/test/java/com/epam/reportportal/junit/features/callback/RetrieveByDescriptionFeatureTest.java index 0c5c7a7..7a96780 100644 --- a/src/test/java/com/epam/reportportal/junit/features/callback/RetrieveByDescriptionFeatureTest.java +++ b/src/test/java/com/epam/reportportal/junit/features/callback/RetrieveByDescriptionFeatureTest.java @@ -23,6 +23,7 @@ import com.epam.reportportal.service.tree.TestItemTree; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; +import jakarta.annotation.Nonnull; import org.junit.AfterClass; import org.junit.Rule; import org.junit.Test; @@ -32,9 +33,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.Nonnull; +import java.time.Instant; import java.util.ArrayList; -import java.util.Calendar; import java.util.Collections; import java.util.List; @@ -70,7 +70,7 @@ public static void afterClass() { private static void addSaucelabsAttribute() { FinishTestItemRQ request = new FinishTestItemRQ(); - request.setEndTime(Calendar.getInstance().getTime()); + request.setEndTime(Instant.now()); request.setStatus("PASSED"); request.setAttributes(Collections.singleton(new ItemAttributesRQ(SLID, SLID_VALUE))); ItemTreeReporter.finishItem( diff --git a/src/test/java/com/epam/reportportal/junit/ignore/BasicIgnoreTest.java b/src/test/java/com/epam/reportportal/junit/ignore/BasicIgnoreTest.java index c6a0b74..aefe305 100644 --- a/src/test/java/com/epam/reportportal/junit/ignore/BasicIgnoreTest.java +++ b/src/test/java/com/epam/reportportal/junit/ignore/BasicIgnoreTest.java @@ -25,10 +25,12 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; +import java.util.concurrent.ExecutorService; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; import static org.mockito.ArgumentMatchers.any; @@ -41,14 +43,20 @@ public class BasicIgnoreTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_an_ignored_test_reporting() { TestUtils.runClasses(IgnoredTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/ignore/IgnoreParameterizedTest.java b/src/test/java/com/epam/reportportal/junit/ignore/IgnoreParameterizedTest.java index a1db82b..9b81d7f 100644 --- a/src/test/java/com/epam/reportportal/junit/ignore/IgnoreParameterizedTest.java +++ b/src/test/java/com/epam/reportportal/junit/ignore/IgnoreParameterizedTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -45,11 +47,18 @@ public class IgnoreParameterizedTest { private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); + @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/nested/BeforeEachNestedStepTest.java b/src/test/java/com/epam/reportportal/junit/nested/BeforeEachNestedStepTest.java index b008eac..022c36a 100644 --- a/src/test/java/com/epam/reportportal/junit/nested/BeforeEachNestedStepTest.java +++ b/src/test/java/com/epam/reportportal/junit/nested/BeforeEachNestedStepTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.Collections; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -45,13 +47,19 @@ public class BeforeEachNestedStepTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, Arrays.asList(beforeId, methodId)); TestUtils.mockNestedSteps(client, Collections.singletonList(Pair.of(beforeId, nestedId))); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/nested/MultiLevelNestedStepTest.java b/src/test/java/com/epam/reportportal/junit/nested/MultiLevelNestedStepTest.java index 1ffefd0..986ad1e 100644 --- a/src/test/java/com/epam/reportportal/junit/nested/MultiLevelNestedStepTest.java +++ b/src/test/java/com/epam/reportportal/junit/nested/MultiLevelNestedStepTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Collections; +import java.util.concurrent.ExecutorService; import java.util.List; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -45,15 +47,21 @@ public class MultiLevelNestedStepTest { private final String secondLevelNestedId = CommonUtils.namedId("nested2_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, classId, methodId, nestedId); TestUtils.mockNestedSteps(client, Collections.singletonList(Pair.of(nestedId, secondLevelNestedId))); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void test_multi_layered_nested_steps() throws NoSuchMethodException { diff --git a/src/test/java/com/epam/reportportal/junit/nested/NestedStepFailedTest.java b/src/test/java/com/epam/reportportal/junit/nested/NestedStepFailedTest.java index c006bc4..0cc5bd7 100644 --- a/src/test/java/com/epam/reportportal/junit/nested/NestedStepFailedTest.java +++ b/src/test/java/com/epam/reportportal/junit/nested/NestedStepFailedTest.java @@ -25,6 +25,7 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -40,12 +41,18 @@ public class NestedStepFailedTest { private final String nestedId = CommonUtils.namedId("nested_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, classId, methodId, nestedId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/nested/NestedStepPassedTest.java b/src/test/java/com/epam/reportportal/junit/nested/NestedStepPassedTest.java index 43eab04..2fa594b 100644 --- a/src/test/java/com/epam/reportportal/junit/nested/NestedStepPassedTest.java +++ b/src/test/java/com/epam/reportportal/junit/nested/NestedStepPassedTest.java @@ -25,6 +25,7 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -40,12 +41,18 @@ public class NestedStepPassedTest { private final String nestedId = CommonUtils.namedId("nested_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, classId, methodId, nestedId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNoInterfaceTest.java b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNoInterfaceTest.java index 01e4cfc..ac651a9 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNoInterfaceTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNoInterfaceTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.IntStream; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -44,12 +46,18 @@ public class JunitParamsNoInterfaceTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } private static final List> PARAMETERS = Arrays.asList(Pair.of("param", "one"), Pair.of("param", "two, three")); diff --git a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNullValueTest.java b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNullValueTest.java index 0a67fdf..9501ea0 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNullValueTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsNullValueTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.IntStream; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -44,12 +46,18 @@ public class JunitParamsNullValueTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } private static final List> PARAMETERS = Arrays.asList(Pair.of("param", "one"), Pair.of("param", null)); diff --git a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTest.java b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTest.java index c65fc82..d33481d 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTest.java @@ -26,11 +26,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.IntStream; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -44,12 +46,18 @@ public class JunitParamsTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } private static final List> PARAMETERS = Arrays.asList(Pair.of("param", "one"), Pair.of("param", "two, three")); diff --git a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTwoParametersTest.java b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTwoParametersTest.java index b162790..0edd83d 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTwoParametersTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/JunitParamsTwoParametersTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.IntStream; @@ -44,17 +46,27 @@ public class JunitParamsTwoParametersTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } - private static final List>> PARAMETERS = Arrays.asList(Arrays.asList(Pair.of("param1", "one"), - Pair.of("param2", "1") - ), Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2"))); + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + + private static final List>> PARAMETERS = Arrays.asList( + Arrays.asList( + Pair.of("param1", "one"), + Pair.of("param2", "1") + ), + Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2")) + ); @Test public void verify_two_parameters_junitparams_implementation() { diff --git a/src/test/java/com/epam/reportportal/junit/parameters/NoInterfaceJunitParamsTwoParametersTest.java b/src/test/java/com/epam/reportportal/junit/parameters/NoInterfaceJunitParamsTwoParametersTest.java index c32f2a9..bb3221d 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/NoInterfaceJunitParamsTwoParametersTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/NoInterfaceJunitParamsTwoParametersTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -49,17 +51,27 @@ public class NoInterfaceJunitParamsTwoParametersTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } - private static final List>> PARAMETERS = Arrays.asList(Arrays.asList(Pair.of("param1", "one"), - Pair.of("param2", "1") - ), Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2"))); + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + + private static final List>> PARAMETERS = Arrays.asList( + Arrays.asList( + Pair.of("param1", "one"), + Pair.of("param2", "1") + ), + Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2")) + ); @Test public void verify_two_parameters_junitparams_implementation() { diff --git a/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNoInterfaceTest.java b/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNoInterfaceTest.java index cac0dd1..41ba0b5 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNoInterfaceTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNoInterfaceTest.java @@ -25,11 +25,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; @@ -48,12 +50,18 @@ public class StandardParametersNoInterfaceTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } private static final List> PARAMETERS = Arrays.asList(Pair.of("param", "one"), Pair.of("param", "two, three")); diff --git a/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNullValueTest.java b/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNullValueTest.java index a8eba4f..8066852 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNullValueTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersNullValueTest.java @@ -25,10 +25,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.IntStream; @@ -42,15 +44,21 @@ public class StandardParametersNullValueTest { private final String classId = CommonUtils.namedId("class_"); private final String methodId = CommonUtils.namedId("method_"); - private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + private static final List> PARAMETERS = Arrays.asList(Pair.of("param", "one"), Pair.of("param", null)); @Test diff --git a/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersTest.java b/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersTest.java index 899b82c..3534196 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/StandardParametersTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.IntStream; @@ -44,14 +46,20 @@ public class StandardParametersTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + private static final List> PARAMETERS = Arrays.asList(Pair.of("param", "one"), Pair.of("param", "two, three")); @Test diff --git a/src/test/java/com/epam/reportportal/junit/parameters/StandardTwoParametersTest.java b/src/test/java/com/epam/reportportal/junit/parameters/StandardTwoParametersTest.java index e5ecd28..4ee8bdf 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/StandardTwoParametersTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/StandardTwoParametersTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.IntStream; @@ -44,17 +46,27 @@ public class StandardTwoParametersTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } - private static final List>> PARAMETERS = Arrays.asList(Arrays.asList(Pair.of("param1", "one"), - Pair.of("param2", "1") - ), Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2"))); + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + + private static final List>> PARAMETERS = Arrays.asList( + Arrays.asList( + Pair.of("param1", "one"), + Pair.of("param2", "1") + ), + Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2")) + ); @Test public void verify_two_parameters_standard_implementation() { diff --git a/src/test/java/com/epam/reportportal/junit/parameters/TwoStandardParametersNoInterfaceTest.java b/src/test/java/com/epam/reportportal/junit/parameters/TwoStandardParametersNoInterfaceTest.java index 617d952..5c6150e 100644 --- a/src/test/java/com/epam/reportportal/junit/parameters/TwoStandardParametersNoInterfaceTest.java +++ b/src/test/java/com/epam/reportportal/junit/parameters/TwoStandardParametersNoInterfaceTest.java @@ -25,10 +25,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.IntStream; @@ -43,17 +45,27 @@ public class TwoStandardParametersNoInterfaceTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } - private static final List>> PARAMETERS = Arrays.asList(Arrays.asList(Pair.of("param1", "one"), - Pair.of("param2", "1") - ), Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2"))); + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + + private static final List>> PARAMETERS = Arrays.asList( + Arrays.asList( + Pair.of("param1", "one"), + Pair.of("param2", "1") + ), + Arrays.asList(Pair.of("param1", "two"), Pair.of("param2", "2")) + ); @Test public void verify_one_simple_parameter_standard_implementation() { diff --git a/src/test/java/com/epam/reportportal/junit/powermock/PowerMockNegativeTest.java b/src/test/java/com/epam/reportportal/junit/powermock/PowerMockNegativeTest.java index ea65fe6..e437904 100644 --- a/src/test/java/com/epam/reportportal/junit/powermock/PowerMockNegativeTest.java +++ b/src/test/java/com/epam/reportportal/junit/powermock/PowerMockNegativeTest.java @@ -23,6 +23,7 @@ import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -33,15 +34,21 @@ public class PowerMockNegativeTest { private final String classId = CommonUtils.namedId("class_"); private final String methodId = CommonUtils.namedId("method_"); - private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_a_failed_test_is_being_reported_with_power_mock() { TestUtils.runClasses(SimplePowermockFailureTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/powermock/PowerMockPositiveTest.java b/src/test/java/com/epam/reportportal/junit/powermock/PowerMockPositiveTest.java index 38a213e..bfe0479 100644 --- a/src/test/java/com/epam/reportportal/junit/powermock/PowerMockPositiveTest.java +++ b/src/test/java/com/epam/reportportal/junit/powermock/PowerMockPositiveTest.java @@ -23,6 +23,7 @@ import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -33,15 +34,21 @@ public class PowerMockPositiveTest { private final String classId = CommonUtils.namedId("class_"); private final String methodId = CommonUtils.namedId("method_"); - private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_a_passed_test_is_being_reported_with_power_mock() { TestUtils.runClasses(SimplePowermockTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/retry/BasicRetryTest.java b/src/test/java/com/epam/reportportal/junit/retry/BasicRetryTest.java index a00de02..1742a38 100644 --- a/src/test/java/com/epam/reportportal/junit/retry/BasicRetryTest.java +++ b/src/test/java/com/epam/reportportal/junit/retry/BasicRetryTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -44,12 +46,18 @@ public class BasicRetryTest { private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(2).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/retry/ParameterizedRetryTest.java b/src/test/java/com/epam/reportportal/junit/retry/ParameterizedRetryTest.java index 11a2c5d..65481cb 100644 --- a/src/test/java/com/epam/reportportal/junit/retry/ParameterizedRetryTest.java +++ b/src/test/java/com/epam/reportportal/junit/retry/ParameterizedRetryTest.java @@ -26,10 +26,12 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -44,12 +46,18 @@ public class ParameterizedRetryTest { private final List methodIds = Stream.generate(() -> CommonUtils.namedId("method_")).limit(3).collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodIds); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/step/StepReporterFailureTest.java b/src/test/java/com/epam/reportportal/junit/step/StepReporterFailureTest.java index 02abcfc..886b393 100644 --- a/src/test/java/com/epam/reportportal/junit/step/StepReporterFailureTest.java +++ b/src/test/java/com/epam/reportportal/junit/step/StepReporterFailureTest.java @@ -25,12 +25,14 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.runner.Result; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -51,13 +53,19 @@ public class StepReporterFailureTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = com.epam.reportportal.util.test.CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, testClassUuid, testMethodUuid); TestUtils.mockNestedSteps(client, testStepUuidOrder); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + com.epam.reportportal.util.test.CommonUtils.shutdownExecutorService(executor); } /* diff --git a/src/test/java/com/epam/reportportal/junit/step/StepReporterFinishTest.java b/src/test/java/com/epam/reportportal/junit/step/StepReporterFinishTest.java index 4339ddc..a238c9f 100644 --- a/src/test/java/com/epam/reportportal/junit/step/StepReporterFinishTest.java +++ b/src/test/java/com/epam/reportportal/junit/step/StepReporterFinishTest.java @@ -23,10 +23,12 @@ import com.epam.reportportal.service.ReportPortalClient; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -46,13 +48,19 @@ public class StepReporterFinishTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = com.epam.reportportal.util.test.CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, testClassUuid, testMethodUuid); TestUtils.mockNestedSteps(client, testStepUuidOrder); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + com.epam.reportportal.util.test.CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/suite/EmptySuiteNoLaunchTest.java b/src/test/java/com/epam/reportportal/junit/suite/EmptySuiteNoLaunchTest.java index 7bbf6ad..247e890 100644 --- a/src/test/java/com/epam/reportportal/junit/suite/EmptySuiteNoLaunchTest.java +++ b/src/test/java/com/epam/reportportal/junit/suite/EmptySuiteNoLaunchTest.java @@ -23,6 +23,7 @@ import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -33,15 +34,21 @@ public class EmptySuiteNoLaunchTest { private final String suiteId = CommonUtils.namedId("suite_"); private final String classId = CommonUtils.namedId("class_"); private final String methodId = CommonUtils.namedId("method_"); - private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, suiteId, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_test_hierarchy_on_simple_suite() { TestUtils.runClasses(EmptySuiteClass.class); diff --git a/src/test/java/com/epam/reportportal/junit/suite/SimpleSuiteTest.java b/src/test/java/com/epam/reportportal/junit/suite/SimpleSuiteTest.java index f48360e..a291ff8 100644 --- a/src/test/java/com/epam/reportportal/junit/suite/SimpleSuiteTest.java +++ b/src/test/java/com/epam/reportportal/junit/suite/SimpleSuiteTest.java @@ -28,12 +28,14 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.lang.reflect.Method; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.Collections; import java.util.List; import java.util.Set; @@ -61,14 +63,20 @@ public class SimpleSuiteTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, suiteId, tests); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + private static String getMethodName(Class clazz) { return Arrays.stream(clazz.getMethods()) .filter(m -> m.getAnnotation(org.junit.Test.class) != null) diff --git a/src/test/java/com/epam/reportportal/junit/suite/SuiteOfSuitesTest.java b/src/test/java/com/epam/reportportal/junit/suite/SuiteOfSuitesTest.java index c648996..d41cd62 100644 --- a/src/test/java/com/epam/reportportal/junit/suite/SuiteOfSuitesTest.java +++ b/src/test/java/com/epam/reportportal/junit/suite/SuiteOfSuitesTest.java @@ -29,12 +29,14 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import java.lang.reflect.Method; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -61,15 +63,21 @@ public class SuiteOfSuitesTest { .collect(Collectors.toList()); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, firstSuiteId, secondSuiteId, classIds); TestUtils.mockNestedSteps(client, tests); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + private static String getMethodName(Class clazz) { return Arrays.stream(clazz.getMethods()) .filter(m -> m.getAnnotation(org.junit.Test.class) != null) diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdJunitParamsTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdJunitParamsTest.java index aa8ae69..4f17778 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdJunitParamsTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdJunitParamsTest.java @@ -25,10 +25,12 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.Collections; import java.util.List; @@ -43,15 +45,22 @@ public class TestCaseIdJunitParamsTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } - private static final List>> PARAMETERS = Collections.singletonList(Arrays.asList(Pair.of("param1", "one"), + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + + private static final List>> PARAMETERS = Collections.singletonList(Arrays.asList( + Pair.of("param1", "one"), Pair.of("param2", "1") )); @@ -63,8 +72,11 @@ public void verify_two_parameters_junitparams_implementation() { verify(client, timeout(PROCESSING_TIMEOUT)).startTestItem(same(classId), captor.capture()); StartTestItemRQ item = captor.getValue(); - assertThat(item.getTestCaseId(), allOf(notNullValue(), - equalTo(JUnitParamsTestCaseIdTest.TEST_CASE_ID_VALUE + "[" + PARAMETERS.get(0).get(0).getValue() + "]") - )); + assertThat( + item.getTestCaseId(), allOf( + notNullValue(), + equalTo(JUnitParamsTestCaseIdTest.TEST_CASE_ID_VALUE + "[" + PARAMETERS.get(0).get(0).getValue() + "]") + ) + ); } } diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdSimpleTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdSimpleTest.java index bd62378..c1c8134 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdSimpleTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdSimpleTest.java @@ -24,6 +24,7 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -39,13 +40,19 @@ public class TestCaseIdSimpleTest { private final String methodId = CommonUtils.namedId("method_"); private ReportPortalClient client; + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { client = mock(ReportPortalClient.class); TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStandardParametersTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStandardParametersTest.java index a5f5ef2..ee976f3 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStandardParametersTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStandardParametersTest.java @@ -25,11 +25,13 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; import java.util.Collections; +import java.util.concurrent.ExecutorService; import java.util.List; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -43,15 +45,22 @@ public class TestCaseIdStandardParametersTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } - private static final List>> PARAMETERS = Collections.singletonList(Arrays.asList(Pair.of("param1", "one"), + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + + private static final List>> PARAMETERS = Collections.singletonList(Arrays.asList( + Pair.of("param1", "one"), Pair.of("param2", "1") )); @@ -63,8 +72,11 @@ public void verify_two_parameters_junitparams_implementation() { verify(client, timeout(PROCESSING_TIMEOUT)).startTestItem(same(classId), captor.capture()); StartTestItemRQ item = captor.getValue(); - assertThat(item.getTestCaseId(), allOf(notNullValue(), - equalTo(StandardParametersTestCaseIdTest.TEST_CASE_ID_VALUE + "[" + PARAMETERS.get(0).get(0).getValue() + "]") - )); + assertThat( + item.getTestCaseId(), allOf( + notNullValue(), + equalTo(StandardParametersTestCaseIdTest.TEST_CASE_ID_VALUE + "[" + PARAMETERS.get(0).get(0).getValue() + "]") + ) + ); } } diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticJunitParamsTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticJunitParamsTest.java index e2757cc..89ba85d 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticJunitParamsTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticJunitParamsTest.java @@ -25,12 +25,14 @@ import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import junitparams.Parameters; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.IntStream; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -45,13 +47,19 @@ public class TestCaseIdStaticJunitParamsTest { private final String methodId = CommonUtils.namedId("method_"); private ReportPortalClient client; + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { client = mock(ReportPortalClient.class); TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticStandardParametersTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticStandardParametersTest.java index 348f138..de6906f 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticStandardParametersTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticStandardParametersTest.java @@ -24,11 +24,13 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.lang.reflect.Method; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import java.util.List; import java.util.stream.IntStream; @@ -44,13 +46,19 @@ public class TestCaseIdStaticStandardParametersTest { private final String methodId = CommonUtils.namedId("method_"); private ReportPortalClient client; + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { client = mock(ReportPortalClient.class); TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticTest.java index 4cfc2b5..91ec2c6 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdStaticTest.java @@ -24,10 +24,12 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.Arrays; +import java.util.concurrent.ExecutorService; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; @@ -41,13 +43,19 @@ public class TestCaseIdStaticTest { private final String methodId = CommonUtils.namedId("method_"); private ReportPortalClient client; + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { client = mock(ReportPortalClient.class); TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test @@ -62,8 +70,9 @@ public void verify_static_test_case_id_generation() { ArgumentCaptor captor = ArgumentCaptor.forClass(StartTestItemRQ.class); verify(client, timeout(PROCESSING_TIMEOUT)).startTestItem(same(classId), captor.capture()); - assertThat(captor.getValue().getTestCaseId(), allOf(notNullValue(), - equalTo(CodeRefTest.class.getCanonicalName() + "." + methodName) - )); + assertThat( + captor.getValue().getTestCaseId(), + allOf(notNullValue(), equalTo(CodeRefTest.class.getCanonicalName() + "." + methodName)) + ); } } diff --git a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdTemplatingTest.java b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdTemplatingTest.java index c55b9b4..a107ddb 100644 --- a/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdTemplatingTest.java +++ b/src/test/java/com/epam/reportportal/junit/testcaseid/TestCaseIdTemplatingTest.java @@ -17,21 +17,20 @@ package com.epam.reportportal.junit.testcaseid; import com.epam.reportportal.junit.ReportPortalListener; -import com.epam.reportportal.junit.features.testcaseid.TestCaseIdFromAnnotationTest; import com.epam.reportportal.junit.features.testcaseid.TestCaseIdTemplateTest; import com.epam.reportportal.junit.utils.TestUtils; -import com.epam.reportportal.service.Launch; import com.epam.reportportal.service.ReportPortal; import com.epam.reportportal.service.ReportPortalClient; import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.equalTo; import static org.mockito.ArgumentMatchers.same; import static org.mockito.Mockito.*; @@ -41,13 +40,19 @@ public class TestCaseIdTemplatingTest { private final String methodId = CommonUtils.namedId("method_"); private ReportPortalClient client; + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { client = mock(ReportPortalClient.class); TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointExceptionedTest.java b/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointExceptionedTest.java index a446dc0..b25dc09 100644 --- a/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointExceptionedTest.java +++ b/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointExceptionedTest.java @@ -26,10 +26,13 @@ import com.epam.reportportal.util.test.CommonUtils; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; +import java.util.concurrent.ExecutorService; + import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.mockito.Mockito.*; @@ -40,12 +43,18 @@ public class TheoryDatapointExceptionedTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); + } + + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); } @Test diff --git a/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointFailedTest.java b/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointFailedTest.java index ad4869f..27ef4df 100644 --- a/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointFailedTest.java +++ b/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointFailedTest.java @@ -27,6 +27,7 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -40,14 +41,20 @@ public class TheoryDatapointFailedTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_theory_test_all_datapoints_failed() { TestUtils.runClasses(TheoryDatapointFailTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointPassedTest.java b/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointPassedTest.java index d490997..cd7c879 100644 --- a/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointPassedTest.java +++ b/src/test/java/com/epam/reportportal/junit/theory/TheoryDatapointPassedTest.java @@ -27,6 +27,7 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -40,14 +41,20 @@ public class TheoryDatapointPassedTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_theory_test_one_datapoint_of_three_passed() { TestUtils.runClasses(TheoryDatapointPassTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/theory/TheoryFailedTest.java b/src/test/java/com/epam/reportportal/junit/theory/TheoryFailedTest.java index c499df5..8e2e485 100644 --- a/src/test/java/com/epam/reportportal/junit/theory/TheoryFailedTest.java +++ b/src/test/java/com/epam/reportportal/junit/theory/TheoryFailedTest.java @@ -29,10 +29,12 @@ import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import okhttp3.MultipartBody; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.util.List; +import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; import static com.epam.reportportal.junit.utils.TestUtils.PROCESSING_TIMEOUT; @@ -47,15 +49,21 @@ public class TheoryFailedTest { private final String classId = CommonUtils.namedId("class_"); private final String methodId = CommonUtils.namedId("method_"); - private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ReportPortalClient client = mock(ReportPortalClient.class); + private final ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test @SuppressWarnings("unchecked") public void verify_simple_theory_test_failed() { diff --git a/src/test/java/com/epam/reportportal/junit/theory/TheoryPassedTest.java b/src/test/java/com/epam/reportportal/junit/theory/TheoryPassedTest.java index 0d11e15..1c948c2 100644 --- a/src/test/java/com/epam/reportportal/junit/theory/TheoryPassedTest.java +++ b/src/test/java/com/epam/reportportal/junit/theory/TheoryPassedTest.java @@ -27,6 +27,7 @@ import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -41,14 +42,20 @@ public class TheoryPassedTest { private final String methodId = CommonUtils.namedId("method_"); private final ReportPortalClient client = mock(ReportPortalClient.class); + private final java.util.concurrent.ExecutorService executor = CommonUtils.testExecutor(); @BeforeEach public void setupMock() { TestUtils.mockLaunch(client, null, null, classId, methodId); TestUtils.mockBatchLogging(client); - ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), TestUtils.testExecutor())); + ReportPortalListener.setReportPortal(ReportPortal.create(client, TestUtils.standardParameters(), executor)); } + @AfterEach + public void tearDown() { + CommonUtils.shutdownExecutorService(executor); + } + @Test public void verify_simple_theory_test_passed() { TestUtils.runClasses(TheoryPassTest.class); diff --git a/src/test/java/com/epam/reportportal/junit/utils/TestUtils.java b/src/test/java/com/epam/reportportal/junit/utils/TestUtils.java index 9abbc00..2dd5fd1 100644 --- a/src/test/java/com/epam/reportportal/junit/utils/TestUtils.java +++ b/src/test/java/com/epam/reportportal/junit/utils/TestUtils.java @@ -29,6 +29,8 @@ import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; import com.fasterxml.jackson.core.type.TypeReference; import io.reactivex.Maybe; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; import okhttp3.MultipartBody; import okio.Buffer; import org.apache.commons.lang3.tuple.Pair; @@ -36,12 +38,8 @@ import org.junit.runner.Result; import org.mockito.stubbing.Answer; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import java.io.IOException; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -58,14 +56,6 @@ public class TestUtils { private TestUtils() { } - public static ExecutorService testExecutor() { - return Executors.newSingleThreadExecutor(r -> { - Thread t = new Thread(r); - t.setDaemon(true); - return t; - }); - } - public static Result runClasses(final Class... testClasses) { return JUnitCore.runClasses(testClasses); } @@ -176,8 +166,10 @@ public static List toSaveLogRQ(List> rqs) { }) .map(b -> { try { - return HttpRequestUtils.MAPPER.readValue(b, new TypeReference>() { - }); + return HttpRequestUtils.MAPPER.readValue( + b, new TypeReference<>() { + } + ); } catch (IOException e) { return Collections.emptyList(); }