/**
  * @test
  */
 public function isActiveReturnsFalseIfTheAccountHasAnExpirationDateInThePast()
 {
     $this->inject($this->account, 'now', new \DateTime());
     $this->account->setExpirationDate(new \DateTime('yesterday'));
     $this->assertFalse($this->account->isActive());
 }
示例#2
0
 /**
  * Returns Account.
  *
  * @param string $providerName  Provider name to fetch an account from.
  * @param array  $casAttributes
  *
  * @throws JasigPhpCasSecurityException
  *
  * @return Account
  */
 public function getAccount($providerName, array $casAttributes)
 {
     $accountSettings = $this->settings[$providerName]['Account'];
     $account = new Account();
     $account->setAuthenticationProviderName($providerName);
     $accountIdentifier = ArraysUtility::getValueByPath($casAttributes, $accountSettings['accountidentifier']);
     if (is_string($accountIdentifier)) {
         $account->setAccountIdentifier($accountIdentifier);
     } else {
         throw new JasigPhpCasSecurityException(sprintf('Cas attribute for ... .%s.providerOptions.Mapping.Account.accountidentifier is not a string. Doubtless you configured path to CAS-Attributes-array-value wrong.', $providerName));
     }
     if (isset($accountSettings['useStaticProviderName']) && empty($accountSettings['forceUseStaticProviderName'])) {
         $account->setAuthenticationProviderName($accountSettings['useStaticProviderName']);
     }
     if (isset($accountSettings['forceUseStaticProviderName'])) {
         $account->setAuthenticationProviderName($accountSettings['forceUseStaticProviderName']);
     }
     if (isset($accountSettings['periodOfValidity']) && is_int($accountSettings['periodOfValidity'])) {
         $date = new \DateTime();
         $date->modify('+' . $accountSettings['periodOfValidity'] . ' day');
         $account->setExpirationDate($date);
     }
     return $account;
 }
 /**
  * {@inheritDoc}
  */
 public function setExpirationDate(\DateTime $expirationDate = NULL)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExpirationDate', array($expirationDate));
     return parent::setExpirationDate($expirationDate);
 }
 /**
  * @test
  */
 public function expirationDateCanBeSetNull()
 {
     $account = new Account();
     $account->setExpirationDate(new \DateTime());
     $account->setExpirationDate(NULL);
     $this->assertEquals(NULL, $account->getExpirationDate());
 }