Skip to content

Commit 9a496ad

Browse files
committed
fix claim.isNull() method
1 parent 1f35900 commit 9a496ad

File tree

3 files changed

+76
-9
lines changed

3 files changed

+76
-9
lines changed

lib/src/main/java/com/auth0/jwt/impl/JsonNodeClaim.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public <T> T as(Class<T> tClazz) throws JWTDecodeException {
102102

103103
@Override
104104
public boolean isNull() {
105-
return !(data.isArray() || data.canConvertToLong() || data.isTextual() || data.isNumber() || data.isBoolean());
105+
return !(data.isObject() || data.isArray() || data.canConvertToLong() || data.isTextual() || data.isNumber() || data.isBoolean());
106106
}
107107

108108
/**

lib/src/test/java/com/auth0/jwt/JWTDecoderTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ public void shouldGetValidClaim() throws Exception {
192192
}
193193

194194
@Test
195-
public void shouldGetNullClaimIfClaimValueIsNull() throws Exception {
195+
public void shouldNotGetNullClaimIfClaimIsEmptyObject() throws Exception {
196196
DecodedJWT jwt = JWTDecoder.decode("eyJhbGciOiJIUzI1NiJ9.eyJvYmplY3QiOnt9fQ.d3nUeeL_69QsrHL0ZWij612LHEQxD8EZg1rNoY3a4aI");
197197
assertThat(jwt, is(notNullValue()));
198198
assertThat(jwt.getClaim("object"), is(notNullValue()));
199-
assertThat(jwt.getClaim("object").isNull(), is(true));
199+
assertThat(jwt.getClaim("object").isNull(), is(false));
200200
}
201201

202202
@Test

lib/src/test/java/com/auth0/jwt/impl/JsonNodeClaimTest.java

Lines changed: 73 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212
import org.junit.Test;
1313
import org.junit.rules.ExpectedException;
1414

15-
import java.util.Arrays;
16-
import java.util.Collections;
17-
import java.util.Date;
18-
import java.util.Map;
15+
import java.util.*;
1916

2017
import static com.auth0.jwt.impl.JWTParser.getDefaultObjectMapper;
2118
import static com.auth0.jwt.impl.JsonNodeClaim.claimFromNode;
@@ -268,12 +265,82 @@ public void shouldReturnBaseClaimWhenParsingNullValue() throws Exception {
268265
}
269266

270267
@Test
271-
public void shouldReturnValidButNullClaimIfTreeIsEmpty() throws Exception {
268+
public void shouldReturnNonNullClaimWhenParsingObject() throws Exception {
272269
JsonNode value = mapper.valueToTree(new Object());
273270
Claim claim = claimFromNode(value);
274271

275272
assertThat(claim, is(notNullValue()));
276273
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
277-
assertThat(claim.isNull(), is(true));
274+
assertThat(claim.isNull(), is(false));
275+
}
276+
277+
@Test
278+
public void shouldReturnNonNullClaimWhenParsingArray() throws Exception {
279+
JsonNode value = mapper.valueToTree(new String[]{});
280+
Claim claim = claimFromNode(value);
281+
282+
assertThat(claim, is(notNullValue()));
283+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
284+
assertThat(claim.isNull(), is(false));
285+
}
286+
287+
@Test
288+
public void shouldReturnNonNullClaimWhenParsingList() throws Exception {
289+
JsonNode value = mapper.valueToTree(new ArrayList<String>());
290+
Claim claim = claimFromNode(value);
291+
292+
assertThat(claim, is(notNullValue()));
293+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
294+
assertThat(claim.isNull(), is(false));
295+
}
296+
297+
@Test
298+
public void shouldReturnNonNullClaimWhenParsingStringValue() throws Exception {
299+
JsonNode value = mapper.valueToTree("");
300+
Claim claim = claimFromNode(value);
301+
302+
assertThat(claim, is(notNullValue()));
303+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
304+
assertThat(claim.isNull(), is(false));
305+
}
306+
307+
@Test
308+
public void shouldReturnNonNullClaimWhenParsingIntValue() throws Exception {
309+
JsonNode value = mapper.valueToTree(Integer.MAX_VALUE);
310+
Claim claim = claimFromNode(value);
311+
312+
assertThat(claim, is(notNullValue()));
313+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
314+
assertThat(claim.isNull(), is(false));
315+
}
316+
317+
@Test
318+
public void shouldReturnNonNullClaimWhenParsingDoubleValue() throws Exception {
319+
JsonNode value = mapper.valueToTree(Double.MAX_VALUE);
320+
Claim claim = claimFromNode(value);
321+
322+
assertThat(claim, is(notNullValue()));
323+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
324+
assertThat(claim.isNull(), is(false));
325+
}
326+
327+
@Test
328+
public void shouldReturnNonNullClaimWhenParsingDateValue() throws Exception {
329+
JsonNode value = mapper.valueToTree(new Date());
330+
Claim claim = claimFromNode(value);
331+
332+
assertThat(claim, is(notNullValue()));
333+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
334+
assertThat(claim.isNull(), is(false));
335+
}
336+
337+
@Test
338+
public void shouldReturnNonNullClaimWhenParsingBooleanValue() throws Exception {
339+
JsonNode value = mapper.valueToTree(Boolean.TRUE);
340+
Claim claim = claimFromNode(value);
341+
342+
assertThat(claim, is(notNullValue()));
343+
assertThat(claim, is(instanceOf(JsonNodeClaim.class)));
344+
assertThat(claim.isNull(), is(false));
278345
}
279346
}

0 commit comments

Comments
 (0)