diff --git a/core/src/test/java/io/grpc/internal/JsonUtilTest.java b/core/src/test/java/io/grpc/internal/JsonUtilTest.java index 960800c97c..a01f886822 100644 --- a/core/src/test/java/io/grpc/internal/JsonUtilTest.java +++ b/core/src/test/java/io/grpc/internal/JsonUtilTest.java @@ -19,6 +19,7 @@ package io.grpc.internal; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.fail; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.junit.Test; @@ -130,4 +131,16 @@ public class JsonUtilTest { assertThat(JsonUtil.getNumberAsInteger(map, "key_nonexistent")).isNull(); assertThat(JsonUtil.getNumberAsLong(map, "key_nonexistent")).isNull(); } + + @Test + public void getObject_mapExplicitNullValue() { + Map mapWithNullValue = Collections.singletonMap("key", null); + try { + JsonUtil.getObject(mapWithNullValue, "key"); + fail("ClassCastException expected"); + } catch (ClassCastException e) { + assertThat(e).hasMessageThat() + .isEqualTo("value 'null' for key 'key' in '{key=null}' is not object"); + } + } }