/** * @test */ public function isActiveReturnsFalseIfTheAccountHasAnExpirationDateInThePast() { $this->inject($this->account, 'now', new \DateTime()); $this->account->setExpirationDate(new \DateTime('yesterday')); $this->assertFalse($this->account->isActive()); }
/** * 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()); }