function it_set_up_a_client_oauth_plugin_subscriber(Client $client, RequestBuilder $builder, $factory, $plugin)
 {
     $builder->getCredentials()->willReturn(['some builder credentials']);
     $factory->create(['some builder credentials'])->shouldBeCalled()->willReturn($plugin);
     $client->addSubscriber($plugin)->shouldBeCalled();
     $this->secureClient($client, $builder);
 }
 function it_set_up_request_custom_authentication_when_provided(Request $request, RequestBuilder $builder)
 {
     $this->beConstructedWith('digest');
     $request->setAuth('username', 'password', 'digest')->shouldBeCalled(1);
     $builder->getCredentials()->shouldBeCalled()->willReturn(['username' => 'username', 'password' => 'password']);
     $this->secureRequest($request, $builder);
 }
 public function secureRequest(Request $request, RequestBuilder $builder)
 {
     $credentials = $builder->getCredentials();
     if (!isset($credentials['username']) || !isset($credentials['password'])) {
         throw new \RuntimeException('You must specified a "username" and a "password" for the http basic authentication.');
     }
     $request->setAuth($credentials['username'], $credentials['password']);
 }
 function it_set_up_request_basic_authentication(Request $request, RequestBuilder $builder)
 {
     $request->setAuth('username', 'password')->shouldBeCalled(1);
     $builder->getCredentials()->shouldBeCalled()->willReturn(['username' => 'username', 'password' => 'password']);
     $this->secureRequest($request, $builder);
 }
 public function secureClient(Client $client, RequestBuilder $builder)
 {
     $plugin = $this->oauthPluginFactory->create($builder->getCredentials());
     $client->addSubscriber($plugin);
 }