/** * Returns the current caller * * @return HasLoginToken */ public function getCurrentCaller() { if (is_null($this->currentCaller)) { $loginToken = $this->session->getLoginToken(); try { $this->currentCaller = $this->identifier->identifyByLoginToken($loginToken); } catch (IdentificationFailed $e) { // we couldn't identify the caller, so we destroy the session // TODO: think about this $this->session->destroy(); } } return $this->currentCaller; }
function it_has_a_caller(Session $session, LoginTokenIdentifier $identifier, HasLoginToken $caller) { $session->getLoginToken()->willReturn(1); $identifier->identifyByLoginToken(1)->willReturn($caller); $this->getCurrentCaller()->shouldReturn($caller); }