Skip to content

Commit dafd4cb

Browse files
committed
Add unit test for #11
1 parent 67baf4c commit dafd4cb

File tree

1 file changed

+36
-9
lines changed

1 file changed

+36
-9
lines changed

plume-admin-api-log/src/test/java/com/coreoz/plume/admin/OkHttpLogEntryTransformerTest.java

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
package com.coreoz.plume.admin;
22

3+
import java.io.IOException;
4+
5+
import org.assertj.core.internal.bytebuddy.utility.RandomString;
6+
import org.junit.Assert;
7+
import org.junit.Test;
8+
39
import com.coreoz.plume.admin.services.logapi.LogInterceptApiBean;
410
import com.google.common.collect.ImmutableList;
11+
512
import lombok.SneakyThrows;
613
import okhttp3.MediaType;
714
import okhttp3.Protocol;
815
import okhttp3.Request;
16+
import okhttp3.Request.Builder;
917
import okhttp3.RequestBody;
1018
import okhttp3.Response;
1119
import okhttp3.ResponseBody;
1220
import okio.Buffer;
13-
import org.assertj.core.internal.bytebuddy.utility.RandomString;
14-
import org.junit.Assert;
15-
import org.junit.Test;
16-
17-
import java.io.IOException;
1821

1922
public class OkHttpLogEntryTransformerTest {
2023

@@ -154,6 +157,22 @@ public void transformer_must_not_fail_if_limit_superior_than_body_length() {
154157
Assert.assertEquals(bodyResponse, transformedTrace.getBodyResponse());
155158
}
156159

160+
@Test
161+
public void transformer_must_not_fail_if_body_is_empty() {
162+
int limit = 100;
163+
LogEntryTransformer transformer = LogEntryTransformer.limitBodySizeTransformer(limit);
164+
Request request = generatePostRequest("/hello/world", 0);
165+
Response response = generateResponse(request, "header", "value", 0);
166+
167+
LogInterceptApiBean generatedTrace = generatedTrace(request, response);
168+
String bodyRequest = generatedTrace.getBodyRequest();
169+
String bodyResponse = generatedTrace.getBodyResponse();
170+
171+
LogInterceptApiBean transformedTrace = transformer.transform(request, response, generatedTrace);
172+
Assert.assertEquals(bodyRequest, transformedTrace.getBodyRequest());
173+
Assert.assertEquals(bodyResponse, transformedTrace.getBodyResponse());
174+
}
175+
157176
@Test
158177
public void transformer_must_apply_second_transformer() {
159178
int limit = 100;
@@ -175,14 +194,22 @@ public void transformer_must_apply_second_transformer() {
175194
}
176195

177196
private static Request generatePostRequest(String endpoint, int length) {
197+
Builder request = new Request.Builder().url("https://test.coco.com" + endpoint);
198+
if (length == 0) {
199+
return request.get().build();
200+
}
178201
RequestBody body = RequestBody.create(RandomString.make(length), MediaType.parse("text/plain"));
179-
return new Request.Builder().post(body).url("https://test.coco.com" + endpoint).build();
202+
return request.post(body).build();
180203
}
181204

182205
private static Response generateResponse(Request request, String headerName, String headerValue, int length) {
206+
okhttp3.Response.Builder response = new Response.Builder().header(headerName, headerValue).request(request).code(200)
207+
.protocol(Protocol.HTTP_1_1).message("");
208+
if (length == 0) {
209+
return response.build();
210+
}
183211
ResponseBody body = ResponseBody.create(RandomString.make(length), MediaType.parse("text/plain"));
184-
return new Response.Builder().body(body).header(headerName, headerValue).request(request).code(200)
185-
.protocol(Protocol.HTTP_1_1).message("").build();
212+
return response.body(body).build();
186213
}
187214

188215
@SneakyThrows
@@ -192,7 +219,7 @@ private static LogInterceptApiBean generatedTrace(Request request, Response resp
192219
request.method(),
193220
response.code(),
194221
requestBodyToBuffer(request.body()),
195-
response.body().string(),
222+
response.body() == null ? null : response.body().string(),
196223
ImmutableList.of(),
197224
ImmutableList.of(),
198225
"TEST"

0 commit comments

Comments
 (0)