Skip to content

Commit 8feccc8

Browse files
CEL Dev Teamcopybara-github
authored andcommitted
Add display_name field to CelPolicy.Variable element
PiperOrigin-RevId: 780661496
1 parent cfec87b commit 8feccc8

3 files changed

Lines changed: 25 additions & 0 deletions

File tree

policy/src/main/java/dev/cel/policy/CelPolicy.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,8 @@ public abstract static class Variable {
234234

235235
public abstract Optional<ValueString> description();
236236

237+
public abstract Optional<ValueString> displayName();
238+
237239
/** Builder for {@link Variable}. */
238240
@AutoValue.Builder
239241
public abstract static class Builder implements RequiredFieldsChecker {
@@ -244,12 +246,16 @@ public abstract static class Builder implements RequiredFieldsChecker {
244246

245247
abstract Optional<ValueString> description();
246248

249+
abstract Optional<ValueString> displayName();
250+
247251
public abstract Builder setName(ValueString name);
248252

249253
public abstract Builder setExpression(ValueString expression);
250254

251255
public abstract Builder setDescription(ValueString description);
252256

257+
public abstract Builder setDisplayName(ValueString displayName);
258+
253259
@Override
254260
public ImmutableList<RequiredField> requiredFields() {
255261
return ImmutableList.of(

policy/src/main/java/dev/cel/policy/CelPolicyYamlParser.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,9 @@ public CelPolicy.Variable parseVariable(
293293
case "description":
294294
builder.setDescription(ctx.newValueString(valueNode));
295295
break;
296+
case "display_name":
297+
builder.setDisplayName(ctx.newValueString(valueNode));
298+
break;
296299
default:
297300
tagVisitor.visitVariableTag(ctx, keyId, keyName, valueNode, policyBuilder, builder);
298301
break;

policy/src/test/java/dev/cel/policy/CelPolicyYamlParserTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,22 @@ public void parseYamlPolicy_withDescription() throws Exception {
6565
.hasValue(ValueString.of(10, "this is a description of the variable"));
6666
}
6767

68+
@Test
69+
public void parseYamlPolicy_withDisplayName() throws Exception {
70+
String policySource =
71+
"rule:\n"
72+
+ " variables:\n"
73+
+ " - name: 'variable_with_description'\n"
74+
+ " display_name: 'Display Name'\n"
75+
+ " expression: 'true'";
76+
77+
CelPolicy policy = POLICY_PARSER.parse(policySource);
78+
79+
assertThat(policy.rule().variables()).hasSize(1);
80+
assertThat(Iterables.getOnlyElement(policy.rule().variables()).displayName())
81+
.hasValue(ValueString.of(10, "Display Name"));
82+
}
83+
6884
@Test
6985
public void parseYamlPolicy_withExplanation() throws Exception {
7086
String policySource =

0 commit comments

Comments
 (0)