Skip to content

Commit 5cafcc9

Browse files
authored
add more tests for analytics builder (segmentio#129)
1 parent 5b4bce3 commit 5cafcc9

1 file changed

Lines changed: 68 additions & 0 deletions

File tree

analytics/src/test/java/com/segment/analytics/AnalyticsBuilderTest.java

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import static org.mockito.Mockito.mock;
66
import static org.mockito.Mockito.verify;
77

8+
import java.util.concurrent.ExecutorService;
9+
import java.util.concurrent.ThreadFactory;
810
import java.util.concurrent.TimeUnit;
911
import org.junit.Before;
1012
import org.junit.Test;
@@ -113,6 +115,12 @@ public void duplicateTransformer() {
113115
}
114116
}
115117

118+
@Test
119+
public void buildsWithValidTransformer() {
120+
Analytics analytics = builder.messageTransformer(mock(MessageTransformer.class)).build();
121+
assertThat(analytics).isNotNull();
122+
}
123+
116124
@Test
117125
public void nullInterceptor() {
118126
try {
@@ -134,6 +142,12 @@ public void duplicateInterceptor() {
134142
}
135143
}
136144

145+
@Test
146+
public void buildsWithValidInterceptor() {
147+
Analytics analytics = builder.messageInterceptor(mock(MessageInterceptor.class)).build();
148+
assertThat(analytics).isNotNull();
149+
}
150+
137151
@Test
138152
public void invalidFlushQueueSize() {
139153
try {
@@ -151,6 +165,12 @@ public void invalidFlushQueueSize() {
151165
}
152166
}
153167

168+
@Test
169+
public void buildsWithValidFlushQueueSize() {
170+
Analytics analytics = builder.flushQueueSize(1).build();
171+
assertThat(analytics).isNotNull();
172+
}
173+
154174
@Test
155175
public void invalidFlushInterval() {
156176
try {
@@ -176,6 +196,12 @@ public void invalidFlushInterval() {
176196
}
177197
}
178198

199+
@Test
200+
public void buildsWithValidFlushInterval() {
201+
Analytics analytics = builder.flushInterval(2, TimeUnit.SECONDS).build();
202+
assertThat(analytics).isNotNull();
203+
}
204+
179205
@Test
180206
public void nullNetworkExecutor() {
181207
try {
@@ -186,6 +212,12 @@ public void nullNetworkExecutor() {
186212
}
187213
}
188214

215+
@Test
216+
public void buildsWithValidNetworkExecutor() {
217+
Analytics analytics = builder.networkExecutor(mock(ExecutorService.class)).build();
218+
assertThat(analytics).isNotNull();
219+
}
220+
189221
@Test
190222
public void nullEndpoint() {
191223
try {
@@ -213,6 +245,12 @@ public void emptyEndpoint() {
213245
}
214246
}
215247

248+
@Test
249+
public void buildsWithValidEndpoint() {
250+
Analytics analytics = builder.endpoint("https://api.segment.io").build();
251+
assertThat(analytics).isNotNull();
252+
}
253+
216254
@Test
217255
public void nullThreadFactory() {
218256
try {
@@ -223,6 +261,12 @@ public void nullThreadFactory() {
223261
}
224262
}
225263

264+
@Test
265+
public void buildsWithThreadFactory() {
266+
Analytics analytics = builder.threadFactory(mock(ThreadFactory.class)).build();
267+
assertThat(analytics).isNotNull();
268+
}
269+
226270
@Test
227271
public void nullCallback() {
228272
try {
@@ -233,6 +277,30 @@ public void nullCallback() {
233277
}
234278
}
235279

280+
@Test
281+
public void duplicateCallback() {
282+
Callback callback = mock(Callback.class);
283+
try {
284+
builder.callback(callback).callback(callback);
285+
} catch (IllegalStateException e) {
286+
assertThat(e).hasMessage("Callback is already registered.");
287+
}
288+
}
289+
290+
@Test
291+
public void buildsWithValidCallback() {
292+
Analytics analytics = builder.callback(mock(Callback.class)).build();
293+
assertThat(analytics).isNotNull();
294+
}
295+
296+
@Test
297+
public void multipleCallbacks() {
298+
Analytics analytics =
299+
builder.callback(mock(Callback.class)).callback(mock(Callback.class)).build();
300+
301+
assertThat(analytics).isNotNull();
302+
}
303+
236304
@Test
237305
public void nullPlugin() {
238306
try {

0 commit comments

Comments
 (0)