diff --git a/pom.xml b/pom.xml index 50f5323..6f875e7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.github.invictum serenity-reportportal-integration - 1.4.4-SNAPSHOT + 1.5.0-SNAPSHOT jar @@ -59,7 +59,7 @@ com.epam.reportportal client-java - 5.0.0-BETA-9 + 5.0.0-BETA-10 com.epam.reportportal diff --git a/src/main/java/com/github/invictum/reportportal/LogUnitsHolder.java b/src/main/java/com/github/invictum/reportportal/LogUnitsHolder.java index 749eeb2..98fd102 100644 --- a/src/main/java/com/github/invictum/reportportal/LogUnitsHolder.java +++ b/src/main/java/com/github/invictum/reportportal/LogUnitsHolder.java @@ -38,7 +38,6 @@ public void proceed(TestStep step) { units.forEach(item -> { Collection logs = item.apply(step); logs.forEach(log -> ReportPortal.emitLog(id -> { -// log.setTestItemId(id); log.setItemUuid(id); return log; })); diff --git a/src/main/java/com/github/invictum/reportportal/ReportIntegrationConfig.java b/src/main/java/com/github/invictum/reportportal/ReportIntegrationConfig.java index 90cb8bc..ee89a40 100644 --- a/src/main/java/com/github/invictum/reportportal/ReportIntegrationConfig.java +++ b/src/main/java/com/github/invictum/reportportal/ReportIntegrationConfig.java @@ -46,6 +46,6 @@ public String communicationDirectory() { public int modulesQuantity() { String value = System.getProperty(MODULES_COUNT_KEY); - return value == null ? 0 : Integer.valueOf(value); + return value == null ? 0 : Integer.parseInt(value); } } diff --git a/src/main/java/com/github/invictum/reportportal/StartEventBuilder.java b/src/main/java/com/github/invictum/reportportal/StartEventBuilder.java index 93c2ad9..3d118f6 100644 --- a/src/main/java/com/github/invictum/reportportal/StartEventBuilder.java +++ b/src/main/java/com/github/invictum/reportportal/StartEventBuilder.java @@ -2,6 +2,7 @@ import com.epam.ta.reportportal.ws.model.ParameterResource; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; +import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import com.google.common.base.Preconditions; import com.google.common.base.Strings; import net.thucydides.core.model.DataTable; @@ -52,9 +53,9 @@ public StartEventBuilder withParameters(DataTable.RowValueAccessor data) { } public StartEventBuilder withTags(Set tags) { - Set result = tags.stream().filter(t -> !t.getType().contentEquals("story")) - .map(tag -> tag.getType() + ":" + tag.getName()).collect(Collectors.toSet()); -// startEvent.setTags(result); + Set result = tags.stream().filter(t -> !t.getType().contentEquals("story")) + .map(tag -> new ItemAttributesRQ(tag.getType(), tag.getName())).collect(Collectors.toSet()); + startEvent.setAttributes(result); return this; } diff --git a/src/main/java/com/github/invictum/reportportal/SuiteStorage.java b/src/main/java/com/github/invictum/reportportal/SuiteStorage.java index 14f3673..da71fb3 100644 --- a/src/main/java/com/github/invictum/reportportal/SuiteStorage.java +++ b/src/main/java/com/github/invictum/reportportal/SuiteStorage.java @@ -56,7 +56,7 @@ public void finalizeActive() { /** * Node class that holds suite metadata */ - private class SuiteMetadata { + private static class SuiteMetadata { private Maybe id; private Runnable finisher; } diff --git a/src/main/java/com/github/invictum/reportportal/injector/ReportLaunchProvider.java b/src/main/java/com/github/invictum/reportportal/injector/ReportLaunchProvider.java index fcecbc3..cd3e670 100644 --- a/src/main/java/com/github/invictum/reportportal/injector/ReportLaunchProvider.java +++ b/src/main/java/com/github/invictum/reportportal/injector/ReportLaunchProvider.java @@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; +import java.util.HashSet; public class ReportLaunchProvider implements Provider { @@ -57,8 +58,7 @@ private StartLaunchRQ buildStartLaunchEvent(ListenerParameters parameters) { event.setName(parameters.getLaunchName()); event.setStartTime(Calendar.getInstance().getTime()); event.setMode(parameters.getLaunchRunningMode()); -// As I understood Tags functionality moved to somewhere in RP 5. Unfortunately, I can't find right way to use Tags -// event.setTags(parameters.getTags()); + event.setAttributes(parameters.getAttributes()); event.setDescription(parameters.getDescription()); return event; } @@ -66,7 +66,7 @@ private StartLaunchRQ buildStartLaunchEvent(ListenerParameters parameters) { private MergeLaunchesRQ buildMergeLaunchesEvent(ListenerParameters parameters) { MergeLaunchesRQ merge = new MergeLaunchesRQ(); merge.setName(parameters.getLaunchName()); -// merge.setTags(parameters.getTags()); + merge.setAttributes(new HashSet<>(parameters.getAttributes())); merge.setExtendSuitesDescription(true); merge.setMergeStrategyType("DEEP"); merge.setLaunches(fileStorage.loadAndClean()); diff --git a/src/main/java/com/github/invictum/reportportal/recorder/Regular.java b/src/main/java/com/github/invictum/reportportal/recorder/Regular.java index 3ec4b0c..9aaedf2 100644 --- a/src/main/java/com/github/invictum/reportportal/recorder/Regular.java +++ b/src/main/java/com/github/invictum/reportportal/recorder/Regular.java @@ -1,23 +1,17 @@ package com.github.invictum.reportportal.recorder; -import java.util.Collection; - -import net.thucydides.core.model.TestOutcome; - import com.epam.reportportal.service.Launch; import com.epam.reportportal.service.ReportPortal; import com.epam.ta.reportportal.ws.model.FinishTestItemRQ; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; import com.epam.ta.reportportal.ws.model.log.SaveLogRQ; -import com.github.invictum.reportportal.FinishEventBuilder; -import com.github.invictum.reportportal.ItemType; -import com.github.invictum.reportportal.LogUnitsHolder; -import com.github.invictum.reportportal.StartEventBuilder; -import com.github.invictum.reportportal.Status; -import com.github.invictum.reportportal.SuiteStorage; +import com.github.invictum.reportportal.*; import com.github.invictum.reportportal.log.unit.Error; import com.google.inject.Inject; import io.reactivex.Maybe; +import net.thucydides.core.model.TestOutcome; + +import java.util.Collection; /** * Common test recorder suitable for most cases @@ -65,12 +59,11 @@ public void record(TestOutcome out) { suiteStorage.suiteFinisher(out.getUserStory().getId(), () -> launch.finishTestItem(id, finishSuite)); } - private void recordNonStepFailure(TestOutcome out){ + private void recordNonStepFailure(TestOutcome out) { Collection logs = Error.errorInTest().apply(out); - logs.forEach(l -> ReportPortal.emitLog(id -> { -// l.setTestItemId(id); - l.setItemUuid(id); - return l; + logs.forEach(log -> ReportPortal.emitLog(id -> { + log.setItemUuid(id); + return log; })); } } diff --git a/src/test/java/com/github/invictum/reportportal/StartEventBuilderTest.java b/src/test/java/com/github/invictum/reportportal/StartEventBuilderTest.java index 169041b..a16d487 100644 --- a/src/test/java/com/github/invictum/reportportal/StartEventBuilderTest.java +++ b/src/test/java/com/github/invictum/reportportal/StartEventBuilderTest.java @@ -2,6 +2,7 @@ import com.epam.ta.reportportal.ws.model.ParameterResource; import com.epam.ta.reportportal.ws.model.StartTestItemRQ; +import com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ; import net.thucydides.core.model.DataTable; import net.thucydides.core.model.TestTag; import org.junit.Assert; @@ -92,6 +93,6 @@ public void withTagsTest() { .withName("name") .withTags(tags) .build(); -// Assert.assertEquals(Collections.singleton("type:name"), event.getTags()); + Assert.assertEquals(Collections.singleton(new ItemAttributesRQ("type", "name")), event.getAttributes()); } }