Skip to content

Commit 8684e70

Browse files
authored
Expand TestSubscriber's API, fix a bug in MultiFirstProcessor (helidon-io#1463)
1 parent e3b20ee commit 8684e70

5 files changed

Lines changed: 326 additions & 73 deletions

File tree

common/reactive/src/main/java/io/helidon/common/reactive/MultiFirstProcessor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ protected void submit(T item) {
3636

3737
@Override
3838
protected void next(T item) {
39+
cancel();
3940
super.next(item);
4041
super.complete();
4142
}

common/reactive/src/test/java/io/helidon/common/reactive/BaseProcessorTest.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,7 @@ public void onSubscribe(Subscription subscription) {
152152
@Test
153153
public void testDeferredOnSubscribe() {
154154
TestProcessor<String> processor = new TestProcessor<>();
155-
TestSubscriber<String> subscriber = new TestSubscriber<String>() {
156-
@Override
157-
public void onSubscribe(Subscription subscription) {
158-
subscription.request(1);
159-
}
160-
};
155+
TestSubscriber<String> subscriber = new TestSubscriber<String>(1L);
161156
processor.subscribe(subscriber);
162157
processor.onSubscribe(new Subscription() {
163158
@Override
@@ -171,9 +166,7 @@ public void cancel() {
171166
}
172167
});
173168

174-
assertThat(subscriber.isComplete(), is(equalTo(true)));
175-
assertThat(subscriber.getLastError(), is(nullValue()));
176-
assertThat(subscriber.getItems(), hasItems("foo"));
169+
subscriber.assertResult("foo");
177170
}
178171

179172
@Test

common/reactive/src/test/java/io/helidon/common/reactive/MultiTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,7 @@ public void testFromMulti() {
145145
public void testFirst() {
146146
MultiTestSubscriber<String> subscriber = new MultiTestSubscriber<>();
147147
Multi.just("foo", "bar").first().subscribe(subscriber);
148-
assertThat(subscriber.isComplete(), is(equalTo(true)));
149-
assertThat(subscriber.getLastError(), is(nullValue()));
150-
assertThat(subscriber.getItems().get(0), is(equalTo("foo")));
148+
subscriber.assertResult("foo");
151149
}
152150

153151
@Test

common/reactive/src/test/java/io/helidon/common/reactive/SingleTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,13 @@ public void testJustDoubleSubscriptionRequest() {
9797
SingleTestSubscriber<String> subscriber = new SingleTestSubscriber<String>() {
9898
@Override
9999
public void onSubscribe(Subscription subscription) {
100+
super.onSubscribe(subscription);
100101
subscription.request(1);
101102
subscription.request(1);
102103
}
103104
};
104105
Single.<String>just("foo").subscribe(subscriber);
105-
assertThat(subscriber.isComplete(), is(equalTo(true)));
106-
assertThat(subscriber.getLastError(), is(nullValue()));
107-
assertThat(subscriber.getItems(), hasItems("foo"));
106+
subscriber.assertResult("foo");
108107
}
109108

110109
@Test
@@ -121,6 +120,7 @@ public void testEmptyCanceledSubscription() {
121120
SingleTestSubscriber<Object> subscriber = new SingleTestSubscriber<Object>() {
122121
@Override
123122
public void onSubscribe(Subscription subscription) {
123+
super.onSubscribe(subscription);
124124
subscription.cancel();
125125
}
126126
};

0 commit comments

Comments
 (0)