Skip to content

Commit 204fb8f

Browse files
committed
add test
1 parent e0f8981 commit 204fb8f

File tree

1 file changed

+37
-6
lines changed

1 file changed

+37
-6
lines changed
Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package com.google.api.logging;
22

33
import static org.mockito.ArgumentMatchers.any;
4+
import static org.mockito.ArgumentMatchers.anyString;
45
import static org.mockito.Mockito.mock;
6+
import static org.mockito.Mockito.never;
7+
import static org.mockito.Mockito.times;
58
import static org.mockito.Mockito.verify;
9+
import static org.mockito.Mockito.verifyNoInteractions;
610
import static org.mockito.Mockito.when;
711

812
import ch.qos.logback.classic.spi.ILoggingEvent;
@@ -11,16 +15,24 @@
1115
import java.io.IOException;
1216
import java.util.HashMap;
1317
import java.util.Map;
18+
import org.junit.jupiter.api.BeforeEach;
1419
import org.junit.jupiter.api.Test;
1520

1621
public class SDKLoggingMdcJsonProviderTest {
1722

23+
private SDKLoggingMdcJsonProvider provider = new SDKLoggingMdcJsonProvider();
24+
private JsonGenerator generator = mock(JsonGenerator.class);
25+
private ILoggingEvent event = mock(ILoggingEvent.class);
26+
private Map<String, String> mdc;
27+
28+
@BeforeEach
29+
void init() {
30+
mdc = new HashMap<>();
31+
when(event.getMDCPropertyMap()).thenReturn(mdc);
32+
}
33+
1834
@Test
19-
void testWriteJsonFormat() throws IOException {
20-
SDKLoggingMdcJsonProvider provider = new SDKLoggingMdcJsonProvider();
21-
JsonGenerator generator = mock(JsonGenerator.class);
22-
ILoggingEvent event = mock(ILoggingEvent.class);
23-
Map<String, String> mdc = new HashMap<>();
35+
void testWriteJsonStringToJsonTree() throws IOException {
2436
mdc.put(
2537
"json1",
2638
"{\n"
@@ -31,10 +43,29 @@ void testWriteJsonFormat() throws IOException {
3143
+ " \"state\": \"ACTIVE\"\n"
3244
+ " }\n"
3345
+ "}");
34-
when(event.getMDCPropertyMap()).thenReturn(mdc);
3546

3647
provider.writeTo(generator, event);
3748
verify(generator).writeFieldName("json1");
3849
verify(generator).writeTree(any(JsonNode.class));
3950
}
51+
52+
@Test
53+
void testWriteIllegalJsonFormatToString() throws IOException {
54+
mdc.put(
55+
"json1",
56+
"{\n"
57+
+ " \"@version\": \"1\",\n"
58+
+ " \"textPayload\": \"Received response\",\n"
59+
+ " \"response.payload\": {\n"
60+
+ " \"name\": \"example\",\n"
61+
+ " \"state\": \"ACTIVE\",\n" // the last semicolon is redundant.
62+
+ " }\n"
63+
+ "}");
64+
65+
66+
provider.writeTo(generator, event);
67+
verify(generator).writeFieldName("json1");
68+
verify(generator, never()).writeTree(any(JsonNode.class));
69+
verify(generator).writeObject(anyString());
70+
}
4071
}

0 commit comments

Comments
 (0)