Merge pull request #184 from Unicon/Skew-assertion-date

Handle date equality when checking for assertion validity
This commit is contained in:
Misagh Moayyed 2016-09-23 10:24:02 +03:30 committed by GitHub
commit 4d1d62bd62
2 changed files with 14 additions and 1 deletions

View File

@ -101,32 +101,39 @@ public final class AssertionImpl implements Assertion {
CommonUtils.assertNotNull(this.attributes, "attributes cannot be null.");
}
@Override
public Date getAuthenticationDate() {
return this.authenticationDate;
}
@Override
public Date getValidFromDate() {
return this.validFromDate;
}
@Override
public Date getValidUntilDate() {
return this.validUntilDate;
}
@Override
public Map<String, Object> getAttributes() {
return this.attributes;
}
@Override
public AttributePrincipal getPrincipal() {
return this.principal;
}
@Override
public boolean isValid() {
if (this.validFromDate == null) {
return true;
}
final Date now = new Date();
return this.validFromDate.before(now) && (this.validUntilDate == null || this.validUntilDate.after(now));
return (this.validFromDate.before(now) || this.validFromDate.equals(now))
&& (this.validUntilDate == null || this.validUntilDate.after(now) || this.validUntilDate.equals(now));
}
}

View File

@ -18,6 +18,7 @@
*/
package org.jasig.cas.client.validation;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
@ -49,6 +50,11 @@ public final class AssertionImplTests extends TestCase {
assertNull(assertion.getPrincipal().getProxyTicketFor("test"));
}
public void testAssertionValidity() throws Exception {
final Assertion assertion = new AssertionImpl(CONST_PRINCIPAL, new Date(), new Date(), new Date(), CONST_ATTRIBUTES);
assertTrue(assertion.isValid());
}
public void testCompleteConstructor() {
final Assertion assertion = new AssertionImpl(CONST_PRINCIPAL, CONST_ATTRIBUTES);