public function setUp() { $databaseSession = $this->databaseSession = \Phake::mock('\\Mahotora\\DatabaseSessionImpl'); DIContainer::getInstance()->clear(); DIContainer::getInstance()->setFlyWeight('databaseSession', function () use($databaseSession) { return $databaseSession; }); $this->target = new RefreshToken(); $this->target->setContainer(DIContainer::getInstance()); }
protected function setUp() { $this->get = new DummyOAuthActionGET(); $this->post = new DummyOAuthActionPOST(); $this->put = new DummyOAuthActionPUT(); $this->delete = new DummyOAuthActionDELETE(); $this->emptyGetRequest = new Request(array('REQUEST_METHOD' => 'GET'), array('access_token' => null), array()); $this->getRequest = new Request(array('REQUEST_METHOD' => 'GET'), array('access_token' => 'hoge'), array()); $this->postRequest = new Request(array('REQUEST_METHOD' => 'POST'), array('access_token' => 'hoge'), array()); $this->deleteRequest = new Request(array('REQUEST_METHOD' => 'DELETE'), array('access_token' => 'hoge'), array()); $this->putRequest = new Request(array('REQUEST_METHOD' => 'PUT'), array('access_token' => 'hoge'), array()); DIContainer::getInstance()->clear(); $accessTokensDao = $this->accessTokensDao = \Phake::mock('Behoimi\\Dao\\AccessTokensDao'); $accessTokenLogsDao = $this->accessTokenLogsDao = \Phake::mock('Behoimi\\Dao\\AccessTokenLogsDao'); $databaseSession = $this->databaseSession = \Phake::mock('Mahotora\\DatabaseSessionImpl'); DIContainer::getInstance()->setFlyWeight('databaseSession', function () use($databaseSession) { return $databaseSession; })->setNew('now', function () { return 9999; }); $this->get->setAccessTokenDao($accessTokensDao); $this->post->setAccessTokenDao($accessTokensDao); $this->put->setAccessTokenDao($accessTokensDao); $this->delete->setAccessTokenDao($accessTokensDao); $this->get->setRequest($this->getRequest); $this->post->setRequest($this->postRequest); $this->put->setRequest($this->putRequest); $this->delete->setRequest($this->deleteRequest); $this->get->setContainer(DIContainer::getInstance()); $this->post->setContainer(DIContainer::getInstance()); $this->put->setContainer(DIContainer::getInstance()); $this->delete->setContainer(DIContainer::getInstance()); $this->accessToken = new AccessToken(); $this->accessToken->setAuthorizedApplicationId(999); $this->accessToken->setUserId(1234); $this->accessToken->setScopes(new Scopes(array(SampleScopeDefinition::R_PROFILE))); $this->accessToken->setCreatedAt(time()); }
public function run($args) { if (!isset($args['userId'])) { throw new \InvalidArgumentException('userId is not required'); } $diContainer = \Zaolik\DIContainer::getInstance(); $databaseSession = $diContainer->getFlyWeight('DatabaseSession'); $applicationsDao = new ApplicationsDao($databaseSession); $authorizedApplicationDao = new AuthorizedApplicationsDao($databaseSession); $scopesDao = new ScopesDao($databaseSession); $accessTokensDao = new AccessTokensDao($databaseSession); $application = $applicationsDao->find(isset($args['appId']) ? $args['appId'] : 1); if (!$application) { $application = $this->createApplication(); $applicationsDao->save($application); } $authorize = $authorizedApplicationDao->findByAppIdAndUserId($application->id, $args['userId']); if (!$authorize) { $authorize = $this->createAuthorizedApplication($args['userId'], $application); $authorizedApplicationDao->save($authorize); } $scopes = $scopesDao->findByAuthorizedAppid($authorize->id); if (!$scopes) { foreach ($this->getScopes() as $scope) { $obj = new \stdClass(); $obj->authorized_application_id = $authorize->id; $obj->scope = $scope; $scopesDao->save($obj); } } $accessToken = $this->createAccessToken($authorize); $accessTokensDao->save($accessToken); print "access_token: {$accessToken->access_token}\n"; print "refresh_token: {$accessToken->refresh_token}\n"; file_put_contents('.accessToken', '<?php return ' . var_export(array('accessToken' => $accessToken->access_token, 'refreshToken' => $accessToken->refresh_token), true) . ';'); }
/** * @return \Mahotora\DatabaseSession */ public function getDatabaseSession() { return $this->container->getFlyWeight('databaseSession'); }