Skip to content

Commit

Permalink
add tests for default method implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
jimmyjames committed Mar 7, 2022
1 parent c1df565 commit 4e95a93
Show file tree
Hide file tree
Showing 2 changed files with 176 additions and 0 deletions.
93 changes: 93 additions & 0 deletions lib/src/test/java/com/auth0/jwt/interfaces/ClaimTest.java
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 lib/src/test/java/com/auth0/jwt/interfaces/PayloadTest.java
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;
}
}
}

0 comments on commit 4e95a93

Please sign in to comment.