-
Notifications
You must be signed in to change notification settings - Fork 921
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add tests for default method implementations
- Loading branch information
1 parent
c1df565
commit 4e95a93
Showing
2 changed files
with
176 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
package com.auth0.jwt.interfaces; | ||
|
||
import com.auth0.jwt.exceptions.JWTDecodeException; | ||
import org.junit.Test; | ||
|
||
import java.util.Date; | ||
import java.util.List; | ||
import java.util.Map; | ||
|
||
import static org.hamcrest.MatcherAssert.assertThat; | ||
import static org.hamcrest.Matchers.*; | ||
|
||
public class ClaimTest { | ||
|
||
@Test | ||
public void shouldGetInstantUsingDefault() { | ||
Date date = new Date(1646667492000L); | ||
Claim claim = new ClaimImplForTest(date); | ||
assertThat(claim.asInstant(), is(date.toInstant())); | ||
} | ||
|
||
@Test | ||
public void shouldGetNullInstantUsingDefault() { | ||
Claim claim = new ClaimImplForTest(null); | ||
assertThat(claim.asInstant(), is(nullValue())); | ||
} | ||
|
||
/** | ||
* Implementation that does not override {@code asInstant()} | ||
*/ | ||
static class ClaimImplForTest implements Claim { | ||
private final Date date; | ||
|
||
ClaimImplForTest(Date date) { | ||
this.date = date; | ||
} | ||
|
||
@Override | ||
public boolean isNull() { | ||
return false; | ||
} | ||
|
||
@Override | ||
public Boolean asBoolean() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Integer asInt() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Long asLong() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Double asDouble() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public String asString() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Date asDate() { | ||
return date; | ||
} | ||
|
||
@Override | ||
public <T> T[] asArray(Class<T> tClazz) throws JWTDecodeException { | ||
return null; | ||
} | ||
|
||
@Override | ||
public <T> List<T> asList(Class<T> tClazz) throws JWTDecodeException { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Map<String, Object> asMap() throws JWTDecodeException { | ||
return null; | ||
} | ||
|
||
@Override | ||
public <T> T as(Class<T> tClazz) throws JWTDecodeException { | ||
return null; | ||
} | ||
} | ||
} |
83 changes: 83 additions & 0 deletions
83
lib/src/test/java/com/auth0/jwt/interfaces/PayloadTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
package com.auth0.jwt.interfaces; | ||
|
||
import org.junit.Test; | ||
|
||
import java.util.Date; | ||
import java.util.List; | ||
import java.util.Map; | ||
|
||
import static org.hamcrest.MatcherAssert.assertThat; | ||
import static org.hamcrest.Matchers.*; | ||
|
||
public class PayloadTest { | ||
|
||
@Test | ||
public void shouldGetInstantFromDefault() { | ||
Date date = new Date(1646667492000L); | ||
Payload payload = new PayloadImplForTest(date); | ||
assertThat(payload.getExpiresAtAsInstant(), is(date.toInstant())); | ||
assertThat(payload.getIssuedAtAsInstant(), is(date.toInstant())); | ||
assertThat(payload.getNotBeforeAsInstant(), is(date.toInstant())); | ||
} | ||
|
||
@Test | ||
public void shouldGetInstantFromDefaultAsNu() { | ||
Payload payload = new PayloadImplForTest(null); | ||
assertThat(payload.getExpiresAtAsInstant(), is(nullValue())); | ||
assertThat(payload.getIssuedAtAsInstant(), is(nullValue())); | ||
assertThat(payload.getNotBeforeAsInstant(), is(nullValue())); | ||
} | ||
|
||
static class PayloadImplForTest implements Payload { | ||
private final Date date; | ||
|
||
PayloadImplForTest(Date date) { | ||
this.date = date; | ||
} | ||
|
||
@Override | ||
public String getIssuer() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public String getSubject() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public List<String> getAudience() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Date getExpiresAt() { | ||
return date; | ||
} | ||
|
||
@Override | ||
public Date getNotBefore() { | ||
return date; | ||
} | ||
|
||
@Override | ||
public Date getIssuedAt() { | ||
return date; | ||
} | ||
|
||
@Override | ||
public String getId() { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Claim getClaim(String name) { | ||
return null; | ||
} | ||
|
||
@Override | ||
public Map<String, Claim> getClaims() { | ||
return null; | ||
} | ||
} | ||
} |