Skip to content

Commit 5f7889d

Browse files
authored
[Core] Fix Cucumber report spam (#2533)
1 parent 2a2106c commit 5f7889d

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1616
### Removed
1717

1818
### Fixed
19+
- [Core] Fix cucumber report spam `Collectors.toUnmodifiableList()` ([#2533](https://github.com/cucumber/cucumber-jvm/pull/2533) M.P. Korstanje)
1920

2021
## [7.3.1] (2022-04-20)
2122

core/src/main/java/io/cucumber/core/plugin/NoPublishFormatter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ public void setEventPublisher(EventPublisher publisher) {
3535
}
3636

3737
private void writeMessage(Envelope envelope) {
38-
if (envelope.getTestRunFinished() != null) {
38+
if (envelope.getTestRunFinished().isPresent()) {
3939
printBanner();
4040
}
4141
}
4242

43-
void printBanner() {
43+
private void printBanner() {
4444
Banner banner = new Banner(out, monochrome);
4545
banner.print(
4646
asList(

core/src/test/java/io/cucumber/core/plugin/NoPublishFormatterTest.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
package io.cucumber.core.plugin;
22

3+
import io.cucumber.core.eventbus.EventBus;
4+
import io.cucumber.core.runtime.TimeServiceEventBus;
5+
import io.cucumber.messages.types.Envelope;
6+
import io.cucumber.messages.types.TestRunFinished;
7+
import io.cucumber.messages.types.TestRunStarted;
8+
import io.cucumber.messages.types.Timestamp;
9+
import io.cucumber.plugin.event.EventHandler;
10+
import io.cucumber.plugin.event.EventPublisher;
311
import org.junit.jupiter.api.Test;
412

513
import java.io.ByteArrayOutputStream;
614
import java.io.PrintStream;
715
import java.io.UnsupportedEncodingException;
816
import java.nio.charset.StandardCharsets;
17+
import java.time.Clock;
18+
import java.time.Instant;
19+
import java.util.UUID;
920

1021
import static io.cucumber.core.plugin.BytesEqualTo.isBytesEqualTo;
1122
import static org.hamcrest.MatcherAssert.assertThat;
@@ -15,9 +26,15 @@ class NoPublishFormatterTest {
1526
public void should_print_banner() throws UnsupportedEncodingException {
1627
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
1728
PrintStream out = new PrintStream(bytes, false, StandardCharsets.UTF_8.name());
29+
EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID);
30+
1831
NoPublishFormatter noPublishFormatter = new NoPublishFormatter(out);
1932
noPublishFormatter.setMonochrome(true);
20-
noPublishFormatter.printBanner();
33+
noPublishFormatter.setEventPublisher(bus);
34+
35+
bus.send(Envelope.of(new TestRunStarted(new Timestamp(0L, 0L))));
36+
bus.send(Envelope.of(new TestRunFinished(null, true, new Timestamp(0L, 0L))));
37+
2138
assertThat(bytes, isBytesEqualTo("" +
2239
"┌───────────────────────────────────────────────────────────────────────────────────┐\n" +
2340
"│ Share your Cucumber Report with your team at https://reports.cucumber.io │\n" +

0 commit comments

Comments
 (0)