Skip to content

Commit ffa6ca1

Browse files
authored
Merge pull request #1317 from HubSpot/jasmith_hubspot/named-param-allowlist
Add NamedParameter to JinjavaFunctions allowlist group
2 parents 2304317 + 09f8874 commit ffa6ca1

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

src/main/java/com/hubspot/jinjava/el/ext/AllowlistGroup.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,10 @@ String[] allowedReturnTypeCanonicalClassPrefixes() {
156156
}
157157
},
158158
JinjavaFunctions {
159-
private static final String[] ARRAY = { ZonedDateTime.class.getCanonicalName() };
159+
private static final String[] ARRAY = {
160+
ZonedDateTime.class.getCanonicalName(),
161+
NamedParameter.class.getCanonicalName(),
162+
};
160163

161164
@Override
162165
String[] allowedDeclaredMethodsFromClasses() {
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.hubspot.jinjava.el.ext;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import com.hubspot.jinjava.BaseJinjavaTest;
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
import org.junit.Test;
9+
10+
public class AllowlistGroupTest extends BaseJinjavaTest {
11+
12+
@Test
13+
public void itResolvesNamedParameterNameThroughAllowlist() {
14+
Map<String, Object> context = new HashMap<>();
15+
context.put("np", new NamedParameter("greeting", "hello"));
16+
String result = jinjava.render("{{ np.name }}", context);
17+
assertThat(result).isEqualTo("greeting");
18+
}
19+
20+
@Test
21+
public void itResolvesNamedParameterValueThroughAllowlist() {
22+
Map<String, Object> context = new HashMap<>();
23+
context.put("np", new NamedParameter("greeting", "hello"));
24+
String result = jinjava.render("{{ np.value }}", context);
25+
assertThat(result).isEqualTo("hello");
26+
}
27+
}

0 commit comments

Comments
 (0)