Example #1
0
 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());
 }
Example #2
0
 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());
 }
Example #3
0
 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) . ';');
 }
Example #4
0
 /**
  * @return \Mahotora\DatabaseSession
  */
 public function getDatabaseSession()
 {
     return $this->container->getFlyWeight('databaseSession');
 }