public function it_should_callback(ClientInterface $mockedClient, InputInterface $mockedInput, ResponseInterface $tokenResponse, ResponseInterface $storeResources, StorageInterface $mockedStorage) { $mockedInput->get('code')->shouldBeCalled()->willReturn('callbackCode'); $mockedInput->get('state')->shouldBeCalled()->willReturn(urlencode('https://login.salesforce.com')); $mockedClient->request('post', 'https://login.salesforce.com/services/oauth2/token', ['form_params' => ['code' => 'callbackCode', 'grant_type' => 'authorization_code', 'client_id' => 'testingClientId', 'client_secret' => 'testingClientSecret', 'redirect_uri' => 'callbackURL']])->shouldBeCalled()->willReturn($tokenResponse); $tokenResponse->getBody()->shouldBeCalled()->willReturn($this->authenticationJSON); $mockedClient->request('get', 'https://na00.salesforce.com', ['headers' => ['Authorization' => 'Oauth accessToken', 'Accept' => 'application/json', 'Content-Type' => 'application/json']])->shouldBeCalled()->willReturn($storeResources); $mockedStorage->get('version')->willReturn(null); $mockedStorage->put('loginURL', 'https://login.salesforce.com')->shouldBeCalled(); $mockedStorage->put('resources', ['foo' => 'bar'])->shouldBeCalled(); $mockedStorage->putTokenData(['access_token' => '00Do0000000secret', 'instance_url' => 'https://na17.salesforce.com', 'id' => 'https://login.salesforce.com/id/00D', 'token_type' => 'Bearer', 'issued_at' => '1447000236011', 'signature' => 'secretsig', 'refresh_token' => 'refreshToken'])->shouldBeCalled(); $mockedStorage->putRefreshToken('refreshToken')->shouldBeCalled(); $storeResources->getBody()->shouldBeCalled()->willReturn($this->responseJSON); $this->callback()->shouldReturn(null); }
/** * Checks to see if version is specified. If not then call storeVersion. * Once a version is determined, determine the available resources the * user has access to and store them in teh user's sesion. * * @return void */ protected function storeResources() { try { $this->storage->get('version'); } catch (\Exception $e) { $this->storeVersion(); } $resources = $this->resources(['format' => 'json']); $this->storage->put('resources', $resources); }
public function let(ClientInterface $mockedClient, EventInterface $mockedEvent, InputInterface $mockedInput, RedirectInterface $mockedRedirect, ResponseInterface $mockedResponse, RequestInterface $mockedRequest, StorageInterface $mockedStorage) { $settings = ['authenticationFlow' => 'UserPassword', 'credentials' => ['consumerKey' => 'testingClientId', 'consumerSecret' => 'testingClientSecret', 'callbackURI' => 'callbackURL', 'loginURL' => 'https://login.salesforce.com', 'username' => '*****@*****.**', 'password' => 'mypassword'], 'parameters' => ['display' => 'popup', 'immediate' => 'false', 'state' => '', 'scope' => ''], 'instanceURL' => '', 'authRedirect' => 'redirectURL', 'version' => '30.0', 'defaults' => ['method' => 'get', 'format' => 'json', 'compression' => false, 'compressionType' => 'gzip'], 'language' => 'en_US']; $mockedStorage->get('resources')->willReturn(['sobjects' => '/services/data/v30.0/sobjects', 'connect' => '/services/data/v30.0/connect', 'query' => '/services/data/v30.0/query', 'theme' => '/services/data/v30.0/theme', 'queryAll' => '/services/data/v30.0/queryAll', 'tooling' => '/services/data/v30.0/tooling', 'chatter' => '/services/data/v30.0/chatter', 'analytics' => '/services/data/v30.0/analytics', 'recent' => '/services/data/v30.0/recent', 'process' => '/services/data/v30.0/process', 'identity' => 'https://login.salesforce.com/id/00Di0000000XXXXXX/005i0000000xxxxXXX', 'flexiPage' => '/services/data/v30.0/flexiPage', 'search' => '/services/data/v30.0/search', 'quickActions' => '/services/data/v30.0/quickActions', 'appMenu' => '/services/data/v30.0/appMenu']); $mockedStorage->get('version')->willReturn(['url' => 'resourceURLs']); $mockedStorage->getTokenData()->willReturn(['access_token' => 'accessToken', 'id' => 'https://login.salesforce.com/id/00Di0000000XXXXXX/005i0000000xxxxXXX', 'instance_url' => 'https://na00.salesforce.com', 'token_type' => 'Oauth']); $mockedStorage->putTokenData(Argument::any())->willReturn(null); $mockedStorage->put(Argument::any(), Argument::any())->willReturn(null); $this->beConstructedWith($mockedClient, $mockedEvent, $mockedInput, $mockedRedirect, $mockedStorage, $settings); }
function it_should_callback(ClientInterface $mockedClient, RequestInterface $mockedRequest, ResponseInterface $tokenResponse, ResponseInterface $versionResponse, StorageInterface $mockedStorage) { $mockedClient->post('https://login.salesforce.com/services/oauth2/token', Argument::type('array'))->shouldBeCalled(1)->willReturn($tokenResponse); $mockedClient->send(Argument::any())->shouldBeCalled(1)->willReturn($versionResponse); $mockedClient->createRequest(Argument::any(), Argument::any(), Argument::any())->willReturn($mockedRequest); $tokenResponse->json()->shouldBeCalled(1)->willReturn(array('access_token' => 'value1', 'refresh_token' => 'value2')); $versionResponse->json()->shouldBeCalled()->willReturn([['version' => '30.0'], ['version' => '31.0']]); $mockedStorage->putTokenData(Argument::type('array'))->shouldBeCalled(); $mockedStorage->putRefreshToken(Argument::exact('value2'))->shouldBeCalled(); $mockedStorage->put(Argument::type('string'), Argument::type('array'))->shouldBeCalled(); $this->callback()->shouldReturn(null); }