Skip to content

Commit e8e6e43

Browse files
committed
Fix npe when enum name is invalid.
1 parent 8e29e85 commit e8e6e43

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

src/main/java/graphql/schema/GraphQLEnumType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public Object coerceLiteral(Object input) {
3333
if (!(input instanceof EnumValue)) return null;
3434
EnumValue enumValue = (EnumValue) input;
3535
GraphQLEnumValueDefinition enumValueDefinition = valueDefinitionMap.get(enumValue.getName());
36+
if (enumValueDefinition == null) return null;
3637
if (enumValueDefinition.getValue() != null) return enumValueDefinition.getValue();
3738
return enumValueDefinition.getValue();
3839
}

src/test/groovy/graphql/validation/ValidationUtilTest.groovy

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,20 @@ class ValidationUtilTest extends Specification {
9898
validationUtil.isValidLiteralValue(new EnumValue("PLUTO"), enumType)
9999
}
100100

101-
def "invalid enum"() {
101+
def "invalid enum value"() {
102102
given:
103103
def enumType = GraphQLEnumType.newEnum().name("enumType").value("PLUTO").build()
104104
expect:
105105
!validationUtil.isValidLiteralValue(new StringValue("MARS"), enumType)
106106
}
107107

108+
def "invalid enum name"() {
109+
given:
110+
def enumType = GraphQLEnumType.newEnum().name("enumType").value("PLUTO").build()
111+
expect:
112+
!validationUtil.isValidLiteralValue(new EnumValue("MARS"), enumType)
113+
}
114+
108115
def "a valid ObjectValue"() {
109116
given:
110117
def inputObjectType = GraphQLInputObjectType.newInputObject()

0 commit comments

Comments
 (0)