Skip to content

Commit 15b2e6f

Browse files
authored
Merge pull request #1051 from HubSpot/boulter-patch-1
upgrade jackson
2 parents 34b0d28 + c24a683 commit 15b2e6f

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

pom.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -64,22 +64,22 @@
6464
<dependency>
6565
<groupId>com.fasterxml.jackson.core</groupId>
6666
<artifactId>jackson-annotations</artifactId>
67-
<version>2.12.6</version>
67+
<version>2.14.0</version>
6868
</dependency>
6969
<dependency>
7070
<groupId>com.fasterxml.jackson.core</groupId>
7171
<artifactId>jackson-databind</artifactId>
72-
<version>2.12.6</version>
72+
<version>2.14.0</version>
7373
</dependency>
7474
<dependency>
7575
<groupId>com.fasterxml.jackson.core</groupId>
7676
<artifactId>jackson-core</artifactId>
77-
<version>2.12.6</version>
77+
<version>2.14.0</version>
7878
</dependency>
7979
<dependency>
8080
<groupId>com.fasterxml.jackson.dataformat</groupId>
8181
<artifactId>jackson-dataformat-yaml</artifactId>
82-
<version>2.12.6</version>
82+
<version>2.14.0</version>
8383
</dependency>
8484
</dependencies>
8585
</dependencyManagement>

src/test/java/com/hubspot/jinjava/objects/serialization/PyishObjectMapperTest.java

+23-4
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33
import static org.assertj.core.api.Assertions.assertThat;
44
import static org.assertj.core.api.Assertions.assertThatThrownBy;
55

6-
import com.fasterxml.jackson.core.JsonProcessingException;
6+
import com.fasterxml.jackson.databind.JsonMappingException;
77
import com.google.common.collect.ImmutableMap;
88
import com.hubspot.jinjava.Jinjava;
99
import com.hubspot.jinjava.JinjavaConfig;
1010
import com.hubspot.jinjava.LegacyOverrides;
1111
import com.hubspot.jinjava.interpret.JinjavaInterpreter;
12+
import com.hubspot.jinjava.interpret.OutputTooBigException;
1213
import com.hubspot.jinjava.objects.collections.SizeLimitingPyMap;
1314
import java.util.AbstractMap;
1415
import java.util.ArrayList;
1516
import java.util.HashMap;
1617
import java.util.List;
1718
import java.util.Map;
19+
import org.apache.commons.lang3.RandomStringUtils;
1820
import org.junit.Test;
1921

2022
public class PyishObjectMapperTest {
@@ -29,7 +31,7 @@ public void itSerializesMapWithNullKeysAsEmptyString() {
2931
}
3032

3133
@Test
32-
public void itSerializesMapEntrySet() throws JsonProcessingException {
34+
public void itSerializesMapEntrySet() {
3335
SizeLimitingPyMap map = new SizeLimitingPyMap(new HashMap<>(), 10);
3436
map.put("foo", "bar");
3537
map.put("bar", ImmutableMap.of("foobar", new ArrayList<>()));
@@ -39,7 +41,7 @@ public void itSerializesMapEntrySet() throws JsonProcessingException {
3941
}
4042

4143
@Test
42-
public void itSerializesMapEntrySetWithLimit() throws JsonProcessingException {
44+
public void itSerializesMapEntrySetWithLimit() {
4345
SizeLimitingPyMap map = new SizeLimitingPyMap(new HashMap<>(), 10);
4446
map.put("foo", "bar");
4547
map.put("bar", ImmutableMap.of("foobar", new ArrayList<>()));
@@ -85,7 +87,24 @@ public void itLimitsDepth() {
8587
JinjavaInterpreter.pushCurrent(jinjava.newInterpreter());
8688
assertThatThrownBy(() -> PyishObjectMapper.getAsPyishStringOrThrow(original))
8789
.as("The string to be serialized is larger than the max output size")
88-
.isInstanceOf(LengthLimitingJsonProcessingException.class);
90+
.isInstanceOf(JsonMappingException.class)
91+
.hasMessageContaining("Max length of 10000 chars reached");
92+
} finally {
93+
JinjavaInterpreter.popCurrent();
94+
}
95+
}
96+
97+
@Test
98+
public void itLimitsOutputSize() {
99+
String input = RandomStringUtils.random(10002);
100+
try {
101+
Jinjava jinjava = new Jinjava(
102+
JinjavaConfig.newBuilder().withMaxOutputSize(10000).build()
103+
);
104+
JinjavaInterpreter.pushCurrent(jinjava.newInterpreter());
105+
assertThatThrownBy(() -> PyishObjectMapper.getAsPyishString(input))
106+
.isInstanceOf(OutputTooBigException.class)
107+
.hasMessageContaining("over limit of 10000 bytes");
89108
} finally {
90109
JinjavaInterpreter.popCurrent();
91110
}

0 commit comments

Comments
 (0)