Mise à jour des librairies vendor
This commit is contained in:
@@ -21,8 +21,9 @@ use Google\Auth\ApplicationDefaultCredentials;
|
||||
use Google\Auth\Credentials\GCECredentials;
|
||||
use Google\Auth\Credentials\ServiceAccountCredentials;
|
||||
use GuzzleHttp\Psr7;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class ADCGetTest extends \PHPUnit_Framework_TestCase
|
||||
class ADCGetTest extends TestCase
|
||||
{
|
||||
private $originalHome;
|
||||
|
||||
@@ -101,7 +102,7 @@ class ADCGetTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class ADCGetMiddlewareTest extends \PHPUnit_Framework_TestCase
|
||||
class ADCGetMiddlewareTest extends TestCase
|
||||
{
|
||||
private $originalHome;
|
||||
|
||||
@@ -156,6 +157,26 @@ class ADCGetMiddlewareTest extends \PHPUnit_Framework_TestCase
|
||||
ApplicationDefaultCredentials::getMiddleware('a scope', $httpHandler);
|
||||
}
|
||||
|
||||
public function testWithCacheOptions()
|
||||
{
|
||||
$keyFile = __DIR__ . '/fixtures' . '/private.json';
|
||||
putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile);
|
||||
|
||||
$httpHandler = getHandler([
|
||||
buildResponse(200),
|
||||
]);
|
||||
|
||||
$cacheOptions = [];
|
||||
$cachePool = $this->getMock('Psr\Cache\CacheItemPoolInterface');
|
||||
|
||||
$middleware = ApplicationDefaultCredentials::getMiddleware(
|
||||
'a scope',
|
||||
$httpHandler,
|
||||
$cacheOptions,
|
||||
$cachePool
|
||||
);
|
||||
}
|
||||
|
||||
public function testSuccedsIfNoDefaultFilesButIsOnGCE()
|
||||
{
|
||||
$wantedTokens = [
|
||||
@@ -196,6 +217,7 @@ class ADCGetCredentialsAppEngineTest extends BaseTest
|
||||
// removes it if assigned
|
||||
putenv('HOME=' . $this->originalHome);
|
||||
putenv(ServiceAccountCredentials::ENV_VAR . '=' . $this->originalServiceAccount);
|
||||
putenv('GAE_INSTANCE');
|
||||
}
|
||||
|
||||
public function testAppEngineStandard()
|
||||
@@ -210,7 +232,7 @@ class ADCGetCredentialsAppEngineTest extends BaseTest
|
||||
public function testAppEngineFlexible()
|
||||
{
|
||||
$_SERVER['SERVER_SOFTWARE'] = 'Google App Engine';
|
||||
$_SERVER['GAE_VM'] = 'true';
|
||||
putenv('GAE_INSTANCE=aef-default-20180313t154438');
|
||||
$httpHandler = getHandler([
|
||||
buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']),
|
||||
]);
|
||||
@@ -279,6 +301,26 @@ class ADCGetSubscriberTest extends BaseTest
|
||||
ApplicationDefaultCredentials::getSubscriber('a scope', $httpHandler);
|
||||
}
|
||||
|
||||
public function testWithCacheOptions()
|
||||
{
|
||||
$keyFile = __DIR__ . '/fixtures' . '/private.json';
|
||||
putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile);
|
||||
|
||||
$httpHandler = getHandler([
|
||||
buildResponse(200),
|
||||
]);
|
||||
|
||||
$cacheOptions = [];
|
||||
$cachePool = $this->getMock('Psr\Cache\CacheItemPoolInterface');
|
||||
|
||||
$subscriber = ApplicationDefaultCredentials::getSubscriber(
|
||||
'a scope',
|
||||
$httpHandler,
|
||||
$cacheOptions,
|
||||
$cachePool
|
||||
);
|
||||
}
|
||||
|
||||
public function testSuccedsIfNoDefaultFilesButIsOnGCE()
|
||||
{
|
||||
$wantedTokens = [
|
||||
|
||||
3
vendor/google/auth/tests/BaseTest.php
vendored
3
vendor/google/auth/tests/BaseTest.php
vendored
@@ -3,8 +3,9 @@
|
||||
namespace Google\Auth\tests;
|
||||
|
||||
use GuzzleHttp\ClientInterface;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
abstract class BaseTest extends \PHPUnit_Framework_TestCase
|
||||
abstract class BaseTest extends TestCase
|
||||
{
|
||||
public function onlyGuzzle6()
|
||||
{
|
||||
|
||||
3
vendor/google/auth/tests/Cache/ItemTest.php
vendored
3
vendor/google/auth/tests/Cache/ItemTest.php
vendored
@@ -18,8 +18,9 @@
|
||||
namespace Google\Auth\Tests;
|
||||
|
||||
use Google\Auth\Cache\Item;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class ItemTest extends \PHPUnit_Framework_TestCase
|
||||
class ItemTest extends TestCase
|
||||
{
|
||||
public function getItem($key)
|
||||
{
|
||||
|
||||
@@ -18,9 +18,10 @@
|
||||
namespace Google\Auth\Tests;
|
||||
|
||||
use Google\Auth\Cache\MemoryCacheItemPool;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Psr\Cache\InvalidArgumentException;
|
||||
|
||||
class MemoryCacheItemPoolTest extends \PHPUnit_Framework_TestCase
|
||||
class MemoryCacheItemPoolTest extends TestCase
|
||||
{
|
||||
private $pool;
|
||||
|
||||
@@ -159,12 +160,44 @@ class MemoryCacheItemPoolTest extends \PHPUnit_Framework_TestCase
|
||||
* @expectedException \Psr\Cache\InvalidArgumentException
|
||||
* @dataProvider invalidKeys
|
||||
*/
|
||||
public function testCheckInvalidKeys($key)
|
||||
public function testCheckInvalidKeysOnGetItem($key)
|
||||
{
|
||||
$this->pool->getItem($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Psr\Cache\InvalidArgumentException
|
||||
* @dataProvider invalidKeys
|
||||
*/
|
||||
public function testCheckInvalidKeysOnGetItems($key)
|
||||
{
|
||||
$this->pool->getItems([$key]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Psr\Cache\InvalidArgumentException
|
||||
* @dataProvider invalidKeys
|
||||
*/
|
||||
public function testCheckInvalidKeysOnHasItem($key)
|
||||
{
|
||||
$this->pool->hasItem($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Psr\Cache\InvalidArgumentException
|
||||
* @dataProvider invalidKeys
|
||||
*/
|
||||
public function testCheckInvalidKeysOnDeleteItem($key)
|
||||
{
|
||||
$this->pool->deleteItem($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Psr\Cache\InvalidArgumentException
|
||||
* @dataProvider invalidKeys
|
||||
*/
|
||||
public function testCheckInvalidKeysOnDeleteItems($key)
|
||||
{
|
||||
$this->pool->deleteItems([$key]);
|
||||
}
|
||||
|
||||
|
||||
65
vendor/google/auth/tests/CacheTraitTest.php
vendored
65
vendor/google/auth/tests/CacheTraitTest.php
vendored
@@ -18,8 +18,9 @@
|
||||
namespace Google\Auth\Tests;
|
||||
|
||||
use Google\Auth\CacheTrait;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class CacheTraitTest extends \PHPUnit_Framework_TestCase
|
||||
class CacheTraitTest extends TestCase
|
||||
{
|
||||
private $mockFetcher;
|
||||
private $mockCacheItem;
|
||||
@@ -44,6 +45,10 @@ class CacheTraitTest extends \PHPUnit_Framework_TestCase
|
||||
public function testSuccessfullyPullsFromCache()
|
||||
{
|
||||
$expectedValue = '1234';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -61,6 +66,64 @@ class CacheTraitTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertEquals($expectedValue, $cachedValue);
|
||||
}
|
||||
|
||||
public function testSuccessfullyPullsFromCacheWithInvalidKey()
|
||||
{
|
||||
$key = 'this-key-has-@-illegal-characters';
|
||||
$expectedKey = 'thiskeyhasillegalcharacters';
|
||||
$expectedValue = '1234';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->will($this->returnValue($expectedValue));
|
||||
$this->mockCache
|
||||
->expects($this->once())
|
||||
->method('getItem')
|
||||
->with($expectedKey)
|
||||
->will($this->returnValue($this->mockCacheItem));
|
||||
|
||||
$implementation = new CacheTraitImplementation([
|
||||
'cache' => $this->mockCache,
|
||||
'key' => $key,
|
||||
]);
|
||||
|
||||
$cachedValue = $implementation->gCachedValue();
|
||||
$this->assertEquals($expectedValue, $cachedValue);
|
||||
}
|
||||
|
||||
public function testSuccessfullyPullsFromCacheWithLongKey()
|
||||
{
|
||||
$key = 'this-key-is-over-64-characters-and-it-will-still-work'
|
||||
. '-but-it-will-be-hashed-and-shortened';
|
||||
$expectedKey = str_replace('-', '', $key);
|
||||
$expectedKey = substr(hash('sha256', $expectedKey), 0, 64);
|
||||
$expectedValue = '1234';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->will($this->returnValue($expectedValue));
|
||||
$this->mockCache
|
||||
->expects($this->once())
|
||||
->method('getItem')
|
||||
->with($expectedKey)
|
||||
->will($this->returnValue($this->mockCacheItem));
|
||||
|
||||
$implementation = new CacheTraitImplementation([
|
||||
'cache' => $this->mockCache,
|
||||
'key' => $key
|
||||
]);
|
||||
|
||||
$cachedValue = $implementation->gCachedValue();
|
||||
$this->assertEquals($expectedValue, $cachedValue);
|
||||
}
|
||||
|
||||
public function testFailsPullFromCacheWithNoCache()
|
||||
{
|
||||
$implementation = new CacheTraitImplementation();
|
||||
|
||||
@@ -20,8 +20,9 @@ namespace Google\Auth\Tests;
|
||||
use google\appengine\api\app_identity\AppIdentityService;
|
||||
// included from tests\mocks\AppIdentityService.php
|
||||
use Google\Auth\Credentials\AppIdentityCredentials;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class AppIdentityCredentialsOnAppEngineTest extends \PHPUnit_Framework_TestCase
|
||||
class AppIdentityCredentialsOnAppEngineTest extends TestCase
|
||||
{
|
||||
public function testIsFalseByDefault()
|
||||
{
|
||||
@@ -33,9 +34,15 @@ class AppIdentityCredentialsOnAppEngineTest extends \PHPUnit_Framework_TestCase
|
||||
$_SERVER['SERVER_SOFTWARE'] = 'Google App Engine';
|
||||
$this->assertTrue(AppIdentityCredentials::onAppEngine());
|
||||
}
|
||||
|
||||
public function testIsTrueWhenAppEngineRuntimeIsPhp()
|
||||
{
|
||||
$_SERVER['APPENGINE_RUNTIME'] = 'php';
|
||||
$this->assertTrue(AppIdentityCredentials::onAppEngine());
|
||||
}
|
||||
}
|
||||
|
||||
class AppIdentityCredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
class AppIdentityCredentialsGetCacheKeyTest extends TestCase
|
||||
{
|
||||
public function testShouldBeEmpty()
|
||||
{
|
||||
@@ -44,7 +51,7 @@ class AppIdentityCredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class AppIdentityCredentialsFetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
class AppIdentityCredentialsFetchAuthTokenTest extends TestCase
|
||||
{
|
||||
public function testShouldBeEmptyIfNotOnAppEngine()
|
||||
{
|
||||
|
||||
@@ -20,8 +20,9 @@ namespace Google\Auth\Tests;
|
||||
use Google\Auth\Credentials\GCECredentials;
|
||||
use GuzzleHttp\Psr7;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class GCECredentialsOnGCETest extends \PHPUnit_Framework_TestCase
|
||||
class GCECredentialsOnGCETest extends TestCase
|
||||
{
|
||||
public function testIsFalseOnClientErrorStatus()
|
||||
{
|
||||
@@ -56,21 +57,27 @@ class GCECredentialsOnGCETest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class GCECredentialsOnAppEngineFlexibleTest extends \PHPUnit_Framework_TestCase
|
||||
class GCECredentialsOnAppEngineFlexibleTest extends TestCase
|
||||
{
|
||||
public function testIsFalseByDefault()
|
||||
{
|
||||
$this->assertFalse(GCECredentials::onAppEngineFlexible());
|
||||
}
|
||||
|
||||
public function testIsTrueWhenGaeVmIsTrue()
|
||||
public function testIsTrueWhenGaeInstanceHasAefPrefix()
|
||||
{
|
||||
$_SERVER['GAE_VM'] = 'true';
|
||||
putenv('GAE_INSTANCE=aef-default-20180313t154438');
|
||||
$this->assertTrue(GCECredentials::onAppEngineFlexible());
|
||||
}
|
||||
|
||||
protected function tearDown()
|
||||
{
|
||||
// removes it if assigned
|
||||
putenv('GAE_INSTANCE');
|
||||
}
|
||||
}
|
||||
|
||||
class GCECredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
class GCECredentialsGetCacheKeyTest extends TestCase
|
||||
{
|
||||
public function testShouldNotBeEmpty()
|
||||
{
|
||||
@@ -79,7 +86,7 @@ class GCECredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class GCECredentialsFetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
class GCECredentialsFetchAuthTokenTest extends TestCase
|
||||
{
|
||||
public function testShouldBeEmptyIfNotOnGCE()
|
||||
{
|
||||
|
||||
@@ -18,8 +18,9 @@
|
||||
namespace Google\Auth\Tests;
|
||||
|
||||
use Google\Auth\Credentials\IAMCredentials;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class IAMConstructorTest extends \PHPUnit_Framework_TestCase
|
||||
class IAMConstructorTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
@@ -53,7 +54,7 @@ class IAMConstructorTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class IAMUpdateMetadataCallbackTest extends \PHPUnit_Framework_TestCase
|
||||
class IAMUpdateMetadataCallbackTest extends TestCase
|
||||
{
|
||||
public function testUpdateMetadataFunc()
|
||||
{
|
||||
@@ -65,17 +66,15 @@ class IAMUpdateMetadataCallbackTest extends \PHPUnit_Framework_TestCase
|
||||
);
|
||||
|
||||
$update_metadata = $iam->getUpdateMetadataFunc();
|
||||
$this->assertTrue(is_callable($update_metadata));
|
||||
$this->assertInternalType('callable', $update_metadata);
|
||||
|
||||
$actual_metadata = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'));
|
||||
$this->assertTrue(
|
||||
isset($actual_metadata[IAMCredentials::SELECTOR_KEY]));
|
||||
$this->assertArrayHasKey(IAMCredentials::SELECTOR_KEY, $actual_metadata);
|
||||
$this->assertEquals(
|
||||
$actual_metadata[IAMCredentials::SELECTOR_KEY],
|
||||
$selector);
|
||||
$this->assertTrue(
|
||||
isset($actual_metadata[IAMCredentials::TOKEN_KEY]));
|
||||
$this->assertArrayHasKey(IAMCredentials::TOKEN_KEY, $actual_metadata);
|
||||
$this->assertEquals(
|
||||
$actual_metadata[IAMCredentials::TOKEN_KEY],
|
||||
$token);
|
||||
|
||||
@@ -23,6 +23,7 @@ use Google\Auth\Credentials\ServiceAccountJwtAccessCredentials;
|
||||
use Google\Auth\CredentialsLoader;
|
||||
use Google\Auth\OAuth2;
|
||||
use GuzzleHttp\Psr7;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
// Creates a standard JSON auth object for testing.
|
||||
function createTestJson()
|
||||
@@ -36,7 +37,7 @@ function createTestJson()
|
||||
];
|
||||
}
|
||||
|
||||
class SACGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
class SACGetCacheKeyTest extends TestCase
|
||||
{
|
||||
public function testShouldBeTheSameAsOAuth2WithTheSameScope()
|
||||
{
|
||||
@@ -87,7 +88,7 @@ class SACGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class SACConstructorTest extends \PHPUnit_Framework_TestCase
|
||||
class SACConstructorTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
@@ -148,7 +149,7 @@ class SACConstructorTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class SACFromEnvTest extends \PHPUnit_Framework_TestCase
|
||||
class SACFromEnvTest extends TestCase
|
||||
{
|
||||
protected function tearDown()
|
||||
{
|
||||
@@ -178,7 +179,7 @@ class SACFromEnvTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class SACFromWellKnownFileTest extends \PHPUnit_Framework_TestCase
|
||||
class SACFromWellKnownFileTest extends TestCase
|
||||
{
|
||||
private $originalHome;
|
||||
|
||||
@@ -211,7 +212,7 @@ class SACFromWellKnownFileTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class SACFetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
class SACFetchAuthTokenTest extends TestCase
|
||||
{
|
||||
private $privateKey;
|
||||
|
||||
@@ -293,21 +294,23 @@ class SACFetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
$testJson
|
||||
);
|
||||
$update_metadata = $sa->getUpdateMetadataFunc();
|
||||
$this->assertTrue(is_callable($update_metadata));
|
||||
$this->assertInternalType('callable', $update_metadata);
|
||||
|
||||
$actual_metadata = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'),
|
||||
$authUri = null,
|
||||
$httpHandler);
|
||||
$this->assertTrue(
|
||||
isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]));
|
||||
$this->assertArrayHasKey(
|
||||
CredentialsLoader::AUTH_METADATA_KEY,
|
||||
$actual_metadata
|
||||
);
|
||||
$this->assertEquals(
|
||||
$actual_metadata[CredentialsLoader::AUTH_METADATA_KEY],
|
||||
array('Bearer ' . $access_token));
|
||||
}
|
||||
}
|
||||
|
||||
class SACJwtAccessTest extends \PHPUnit_Framework_TestCase
|
||||
class SACJwtAccessTest extends TestCase
|
||||
{
|
||||
private $privateKey;
|
||||
|
||||
@@ -382,13 +385,15 @@ class SACJwtAccessTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertNotNull($sa);
|
||||
|
||||
$update_metadata = $sa->getUpdateMetadataFunc();
|
||||
$this->assertTrue(is_callable($update_metadata));
|
||||
$this->assertInternalType('callable', $update_metadata);
|
||||
|
||||
$actual_metadata = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'),
|
||||
$authUri = null);
|
||||
$this->assertTrue(
|
||||
!isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]));
|
||||
$this->assertArrayNotHasKey(
|
||||
CredentialsLoader::AUTH_METADATA_KEY,
|
||||
$actual_metadata
|
||||
);
|
||||
}
|
||||
|
||||
public function testUpdateMetadataFunc()
|
||||
@@ -400,40 +405,44 @@ class SACJwtAccessTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertNotNull($sa);
|
||||
|
||||
$update_metadata = $sa->getUpdateMetadataFunc();
|
||||
$this->assertTrue(is_callable($update_metadata));
|
||||
$this->assertInternalType('callable', $update_metadata);
|
||||
|
||||
$actual_metadata = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'),
|
||||
$authUri = 'https://example.com/service');
|
||||
$this->assertTrue(
|
||||
isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]));
|
||||
$this->assertArrayHasKey(
|
||||
CredentialsLoader::AUTH_METADATA_KEY,
|
||||
$actual_metadata
|
||||
);
|
||||
|
||||
$authorization = $actual_metadata[CredentialsLoader::AUTH_METADATA_KEY];
|
||||
$this->assertTrue(is_array($authorization));
|
||||
$this->assertInternalType('array', $authorization);
|
||||
|
||||
$bearer_token = current($authorization);
|
||||
$this->assertTrue(is_string($bearer_token));
|
||||
$this->assertTrue(strpos($bearer_token, 'Bearer ') == 0);
|
||||
$this->assertTrue(strlen($bearer_token) > 30);
|
||||
$this->assertInternalType('string', $bearer_token);
|
||||
$this->assertEquals(0, strpos($bearer_token, 'Bearer '));
|
||||
$this->assertGreaterThan(30, strlen($bearer_token));
|
||||
|
||||
$actual_metadata2 = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'),
|
||||
$authUri = 'https://example.com/anotherService');
|
||||
$this->assertTrue(
|
||||
isset($actual_metadata2[CredentialsLoader::AUTH_METADATA_KEY]));
|
||||
$this->assertArrayHasKey(
|
||||
CredentialsLoader::AUTH_METADATA_KEY,
|
||||
$actual_metadata2
|
||||
);
|
||||
|
||||
$authorization2 = $actual_metadata2[CredentialsLoader::AUTH_METADATA_KEY];
|
||||
$this->assertTrue(is_array($authorization2));
|
||||
$this->assertInternalType('array', $authorization2);
|
||||
|
||||
$bearer_token2 = current($authorization2);
|
||||
$this->assertTrue(is_string($bearer_token2));
|
||||
$this->assertTrue(strpos($bearer_token2, 'Bearer ') == 0);
|
||||
$this->assertTrue(strlen($bearer_token2) > 30);
|
||||
$this->assertTrue($bearer_token != $bearer_token2);
|
||||
$this->assertInternalType('string', $bearer_token2);
|
||||
$this->assertEquals(0, strpos($bearer_token2, 'Bearer '));
|
||||
$this->assertGreaterThan(30, strlen($bearer_token2));
|
||||
$this->assertNotEquals($bearer_token2, $bearer_token);
|
||||
}
|
||||
}
|
||||
|
||||
class SACJwtAccessComboTest extends \PHPUnit_Framework_TestCase
|
||||
class SACJwtAccessComboTest extends TestCase
|
||||
{
|
||||
private $privateKey;
|
||||
|
||||
@@ -464,21 +473,23 @@ class SACJwtAccessComboTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertNotNull($sa);
|
||||
|
||||
$update_metadata = $sa->getUpdateMetadataFunc();
|
||||
$this->assertTrue(is_callable($update_metadata));
|
||||
$this->assertInternalType('callable', $update_metadata);
|
||||
|
||||
$actual_metadata = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'),
|
||||
$authUri = 'https://example.com/service');
|
||||
$this->assertTrue(
|
||||
isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]));
|
||||
$this->assertArrayHasKey(
|
||||
CredentialsLoader::AUTH_METADATA_KEY,
|
||||
$actual_metadata
|
||||
);
|
||||
|
||||
$authorization = $actual_metadata[CredentialsLoader::AUTH_METADATA_KEY];
|
||||
$this->assertTrue(is_array($authorization));
|
||||
$this->assertInternalType('array', $authorization);
|
||||
|
||||
$bearer_token = current($authorization);
|
||||
$this->assertTrue(is_string($bearer_token));
|
||||
$this->assertTrue(strpos($bearer_token, 'Bearer ') == 0);
|
||||
$this->assertTrue(strlen($bearer_token) > 30);
|
||||
$this->assertInternalType('string', $bearer_token);
|
||||
$this->assertEquals(0, strpos($bearer_token, 'Bearer '));
|
||||
$this->assertGreaterThan(30, strlen($bearer_token));
|
||||
}
|
||||
|
||||
public function testNoScopeAndNoAuthUri()
|
||||
@@ -494,15 +505,17 @@ class SACJwtAccessComboTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertNotNull($sa);
|
||||
|
||||
$update_metadata = $sa->getUpdateMetadataFunc();
|
||||
$this->assertTrue(is_callable($update_metadata));
|
||||
$this->assertInternalType('callable', $update_metadata);
|
||||
|
||||
$actual_metadata = call_user_func($update_metadata,
|
||||
$metadata = array('foo' => 'bar'),
|
||||
$authUri = null);
|
||||
// no access_token is added to the metadata hash
|
||||
// but also, no error should be thrown
|
||||
$this->assertTrue(is_array($actual_metadata));
|
||||
$this->assertTrue(
|
||||
!isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]));
|
||||
$this->assertInternalType('array', $actual_metadata);
|
||||
$this->assertArrayNotHasKey(
|
||||
CredentialsLoader::AUTH_METADATA_KEY,
|
||||
$actual_metadata
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ use Google\Auth\ApplicationDefaultCredentials;
|
||||
use Google\Auth\Credentials\UserRefreshCredentials;
|
||||
use Google\Auth\OAuth2;
|
||||
use GuzzleHttp\Psr7;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
// Creates a standard JSON auth object for testing.
|
||||
function createURCTestJson()
|
||||
@@ -33,7 +34,7 @@ function createURCTestJson()
|
||||
];
|
||||
}
|
||||
|
||||
class URCGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
class URCGetCacheKeyTest extends TestCase
|
||||
{
|
||||
public function testShouldBeTheSameAsOAuth2WithTheSameScope()
|
||||
{
|
||||
@@ -50,7 +51,7 @@ class URCGetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class URCConstructorTest extends \PHPUnit_Framework_TestCase
|
||||
class URCConstructorTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
@@ -111,7 +112,7 @@ class URCConstructorTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class URCFromEnvTest extends \PHPUnit_Framework_TestCase
|
||||
class URCFromEnvTest extends TestCase
|
||||
{
|
||||
protected function tearDown()
|
||||
{
|
||||
@@ -141,7 +142,7 @@ class URCFromEnvTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class URCFromWellKnownFileTest extends \PHPUnit_Framework_TestCase
|
||||
class URCFromWellKnownFileTest extends TestCase
|
||||
{
|
||||
private $originalHome;
|
||||
|
||||
@@ -174,7 +175,7 @@ class URCFromWellKnownFileTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class URCFetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
class URCFetchAuthTokenTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @expectedException GuzzleHttp\Exception\ClientException
|
||||
|
||||
@@ -41,6 +41,10 @@ class FetchAuthTokenCacheTest extends BaseTest
|
||||
{
|
||||
$cacheKey = 'myKey';
|
||||
$cachedValue = '2/abcdef1234567890';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -73,6 +77,10 @@ class FetchAuthTokenCacheTest extends BaseTest
|
||||
$prefix = 'test_prefix_';
|
||||
$cacheKey = 'myKey';
|
||||
$cachedValue = '2/abcdef1234567890';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
|
||||
134
vendor/google/auth/tests/FetchAuthTokenTest.php
vendored
134
vendor/google/auth/tests/FetchAuthTokenTest.php
vendored
@@ -28,44 +28,68 @@ use Google\Auth\OAuth2;
|
||||
|
||||
class FetchAuthTokenTest extends BaseTest
|
||||
{
|
||||
/** @dataProvider provideAuthTokenFetcher */
|
||||
public function testGetLastReceivedToken(FetchAuthTokenInterface $fetcher)
|
||||
private $scopes = ['https://www.googleapis.com/auth/drive.readonly'];
|
||||
|
||||
/** @dataProvider provideMakeHttpClient */
|
||||
public function testMakeHttpClient($fetcherClass)
|
||||
{
|
||||
$accessToken = $fetcher->getLastReceivedToken();
|
||||
$mockFetcher = $this->getMockBuilder($fetcherClass)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$this->assertNotNull($accessToken);
|
||||
$this->assertArrayHasKey('access_token', $accessToken);
|
||||
$this->assertArrayHasKey('expires_at', $accessToken);
|
||||
$mockFetcher
|
||||
->expects($this->once())
|
||||
->method('fetchAuthToken')
|
||||
->will($this->returnCallback(function ($httpHandler) {
|
||||
return $httpHandler();
|
||||
}));
|
||||
|
||||
$this->assertEquals('xyz', $accessToken['access_token']);
|
||||
$this->assertEquals(strtotime('2001'), $accessToken['expires_at']);
|
||||
$httpHandlerCalled = false;
|
||||
$httpHandler = function () use (&$httpHandlerCalled) {
|
||||
$httpHandlerCalled = true;
|
||||
return ['access_token' => 'xyz'];
|
||||
};
|
||||
|
||||
$tokenCallbackCalled = false;
|
||||
$tokenCallback = function ($cacheKey, $accessToken) use (&$tokenCallbackCalled) {
|
||||
$tokenCallbackCalled = true;
|
||||
$this->assertEquals('xyz', $accessToken);
|
||||
};
|
||||
|
||||
$client = CredentialsLoader::makeHttpClient(
|
||||
$mockFetcher,
|
||||
[
|
||||
'base_url' => 'https://www.googleapis.com/books/v1/',
|
||||
'base_uri' => 'https://www.googleapis.com/books/v1/',
|
||||
'exceptions' => false,
|
||||
'defaults' => ['exceptions' => false]
|
||||
],
|
||||
$httpHandler,
|
||||
$tokenCallback
|
||||
);
|
||||
|
||||
$response = $client->get(
|
||||
'volumes?q=Henry+David+Thoreau&country=US'
|
||||
);
|
||||
|
||||
$this->assertEquals(401, $response->getStatusCode());
|
||||
$this->assertTrue($httpHandlerCalled);
|
||||
$this->assertTrue($tokenCallbackCalled);
|
||||
}
|
||||
|
||||
public function provideAuthTokenFetcher()
|
||||
public function provideMakeHttpClient()
|
||||
{
|
||||
$scopes = ['https://www.googleapis.com/auth/drive.readonly'];
|
||||
$jsonPath = sprintf(
|
||||
'%s/fixtures/.config/%s',
|
||||
__DIR__,
|
||||
CredentialsLoader::WELL_KNOWN_PATH
|
||||
);
|
||||
$jsonPath2 = sprintf(
|
||||
'%s/fixtures2/.config/%s',
|
||||
__DIR__,
|
||||
CredentialsLoader::WELL_KNOWN_PATH
|
||||
);
|
||||
|
||||
return [
|
||||
[$this->getAppIdentityCredentials()],
|
||||
[$this->getGCECredentials()],
|
||||
[$this->getServiceAccountCredentials($scopes, $jsonPath)],
|
||||
[$this->getServiceAccountJwtAccessCredentials($jsonPath)],
|
||||
[$this->getUserRefreshCredentials($scopes, $jsonPath2)],
|
||||
[$this->getOAuth2()],
|
||||
['Google\Auth\Credentials\AppIdentityCredentials'],
|
||||
['Google\Auth\Credentials\GCECredentials'],
|
||||
['Google\Auth\Credentials\ServiceAccountCredentials'],
|
||||
['Google\Auth\Credentials\ServiceAccountJwtAccessCredentials'],
|
||||
['Google\Auth\Credentials\UserRefreshCredentials'],
|
||||
['Google\Auth\OAuth2'],
|
||||
];
|
||||
}
|
||||
|
||||
private function getAppIdentityCredentials()
|
||||
public function testAppIdentityCredentialsGetLastReceivedToken()
|
||||
{
|
||||
$class = new \ReflectionClass(
|
||||
'Google\Auth\Credentials\AppIdentityCredentials'
|
||||
@@ -79,10 +103,10 @@ class FetchAuthTokenTest extends BaseTest
|
||||
'expiration_time' => strtotime('2001'),
|
||||
]);
|
||||
|
||||
return $credentials;
|
||||
$this->assertGetLastReceivedToken($credentials);
|
||||
}
|
||||
|
||||
private function getGCECredentials()
|
||||
public function testGCECredentialsGetLastReceivedToken()
|
||||
{
|
||||
$class = new \ReflectionClass(
|
||||
'Google\Auth\Credentials\GCECredentials'
|
||||
@@ -96,25 +120,37 @@ class FetchAuthTokenTest extends BaseTest
|
||||
'expires_at' => strtotime('2001'),
|
||||
]);
|
||||
|
||||
return $credentials;
|
||||
$this->assertGetLastReceivedToken($credentials);
|
||||
}
|
||||
|
||||
private function getServiceAccountCredentials($scopes, $jsonPath)
|
||||
public function testServiceAccountCredentialsGetLastReceivedToken()
|
||||
{
|
||||
$jsonPath = sprintf(
|
||||
'%s/fixtures/.config/%s',
|
||||
__DIR__,
|
||||
CredentialsLoader::WELL_KNOWN_PATH
|
||||
);
|
||||
|
||||
$class = new \ReflectionClass(
|
||||
'Google\Auth\Credentials\ServiceAccountCredentials'
|
||||
);
|
||||
$property = $class->getProperty('auth');
|
||||
$property->setAccessible(true);
|
||||
|
||||
$credentials = new ServiceAccountCredentials($scopes, $jsonPath);
|
||||
$credentials = new ServiceAccountCredentials($this->scopes, $jsonPath);
|
||||
$property->setValue($credentials, $this->getOAuth2Mock());
|
||||
|
||||
return $credentials;
|
||||
$this->assertGetLastReceivedToken($credentials);
|
||||
}
|
||||
|
||||
private function getServiceAccountJwtAccessCredentials($jsonPath)
|
||||
public function testServiceAccountJwtAccessCredentialsGetLastReceivedToken()
|
||||
{
|
||||
$jsonPath = sprintf(
|
||||
'%s/fixtures/.config/%s',
|
||||
__DIR__,
|
||||
CredentialsLoader::WELL_KNOWN_PATH
|
||||
);
|
||||
|
||||
$class = new \ReflectionClass(
|
||||
'Google\Auth\Credentials\ServiceAccountJwtAccessCredentials'
|
||||
);
|
||||
@@ -124,21 +160,27 @@ class FetchAuthTokenTest extends BaseTest
|
||||
$credentials = new ServiceAccountJwtAccessCredentials($jsonPath);
|
||||
$property->setValue($credentials, $this->getOAuth2Mock());
|
||||
|
||||
return $credentials;
|
||||
$this->assertGetLastReceivedToken($credentials);
|
||||
}
|
||||
|
||||
private function getUserRefreshCredentials($scopes, $jsonPath)
|
||||
public function testUserRefreshCredentialsGetLastReceivedToken()
|
||||
{
|
||||
$jsonPath = sprintf(
|
||||
'%s/fixtures2/.config/%s',
|
||||
__DIR__,
|
||||
CredentialsLoader::WELL_KNOWN_PATH
|
||||
);
|
||||
|
||||
$class = new \ReflectionClass(
|
||||
'Google\Auth\Credentials\UserRefreshCredentials'
|
||||
);
|
||||
$property = $class->getProperty('auth');
|
||||
$property->setAccessible(true);
|
||||
|
||||
$credentials = new UserRefreshCredentials($scopes, $jsonPath);
|
||||
$credentials = new UserRefreshCredentials($this->scopes, $jsonPath);
|
||||
$property->setValue($credentials, $this->getOAuth2Mock());
|
||||
|
||||
return $credentials;
|
||||
$this->assertGetLastReceivedToken($credentials);
|
||||
}
|
||||
|
||||
private function getOAuth2()
|
||||
@@ -148,7 +190,7 @@ class FetchAuthTokenTest extends BaseTest
|
||||
'expires_at' => strtotime('2001'),
|
||||
]);
|
||||
|
||||
return $oauth;
|
||||
$this->assertGetLastReceivedToken($oauth);
|
||||
}
|
||||
|
||||
private function getOAuth2Mock()
|
||||
@@ -167,4 +209,16 @@ class FetchAuthTokenTest extends BaseTest
|
||||
|
||||
return $mock;
|
||||
}
|
||||
|
||||
private function assertGetLastReceivedToken(FetchAuthTokenInterface $fetcher)
|
||||
{
|
||||
$accessToken = $fetcher->getLastReceivedToken();
|
||||
|
||||
$this->assertNotNull($accessToken);
|
||||
$this->assertArrayHasKey('access_token', $accessToken);
|
||||
$this->assertArrayHasKey('expires_at', $accessToken);
|
||||
|
||||
$this->assertEquals('xyz', $accessToken['access_token']);
|
||||
$this->assertEquals(strtotime('2001'), $accessToken['expires_at']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,13 @@
|
||||
|
||||
namespace Google\Auth\Tests;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Exception;
|
||||
use Google\Auth\HttpHandler\Guzzle5HttpHandler;
|
||||
use GuzzleHttp\Message\FutureResponse;
|
||||
use GuzzleHttp\Message\Response;
|
||||
use GuzzleHttp\Ring\Future\CompletedFutureValue;
|
||||
use GuzzleHttp\Stream\Stream;
|
||||
|
||||
class Guzzle5HttpHandlerTest extends BaseTest
|
||||
{
|
||||
@@ -39,14 +44,37 @@ class Guzzle5HttpHandlerTest extends BaseTest
|
||||
->getMockBuilder('GuzzleHttp\Client')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->mockFuture =
|
||||
$this
|
||||
->getMockBuilder('GuzzleHttp\Ring\Future\FutureInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
}
|
||||
|
||||
public function testSuccessfullySendsRequest()
|
||||
public function testSuccessfullySendsRealRequest()
|
||||
{
|
||||
$request = new \GuzzleHttp\Psr7\Request('get', 'http://httpbin.org/get');
|
||||
$client = new \GuzzleHttp\Client();
|
||||
$handler = new Guzzle5HttpHandler($client);
|
||||
$response = $handler($request);
|
||||
$this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $response);
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$json = json_decode((string) $response->getBody(), true);
|
||||
$this->assertArrayHasKey('url', $json);
|
||||
$this->assertEquals($request->getUri(), $json['url']);
|
||||
}
|
||||
|
||||
public function testSuccessfullySendsMockRequest()
|
||||
{
|
||||
$response = new Response(
|
||||
200,
|
||||
[],
|
||||
Stream::factory('Body Text')
|
||||
);
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('send')
|
||||
->will($this->returnValue(new Response(200)));
|
||||
->will($this->returnValue($response));
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('createRequest')
|
||||
@@ -55,5 +83,135 @@ class Guzzle5HttpHandlerTest extends BaseTest
|
||||
$handler = new Guzzle5HttpHandler($this->mockClient);
|
||||
$response = $handler($this->mockPsr7Request);
|
||||
$this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $response);
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertEquals('Body Text', (string) $response->getBody());
|
||||
}
|
||||
|
||||
public function testAsyncWithoutGuzzlePromiseThrowsException()
|
||||
{
|
||||
// Pretend the promise library doesn't exist
|
||||
foreach (spl_autoload_functions() as $function) {
|
||||
if ($function[0] instanceof ClassLoader) {
|
||||
$newAutoloader = clone $function[0];
|
||||
$newAutoloader->setPsr4('GuzzleHttp\\Promise\\', '/tmp');
|
||||
spl_autoload_register($newAutoloadFunc = [$newAutoloader, 'loadClass']);
|
||||
spl_autoload_unregister($previousAutoloadFunc = $function);
|
||||
}
|
||||
}
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('send')
|
||||
->will($this->returnValue(new FutureResponse($this->mockFuture)));
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('createRequest')
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
$handler = new Guzzle5HttpHandler($this->mockClient);
|
||||
$errorThrown = false;
|
||||
try {
|
||||
$handler->async($this->mockPsr7Request);
|
||||
} catch (Exception $e) {
|
||||
$this->assertEquals(
|
||||
'Install guzzlehttp/promises to use async with Guzzle 5',
|
||||
$e->getMessage()
|
||||
);
|
||||
$errorThrown = true;
|
||||
}
|
||||
|
||||
// Restore autoloader before assertion (in case it fails)
|
||||
spl_autoload_register($previousAutoloadFunc);
|
||||
spl_autoload_unregister($newAutoloadFunc);
|
||||
|
||||
$this->assertTrue($errorThrown);
|
||||
}
|
||||
|
||||
public function testSuccessfullySendsRequestAsync()
|
||||
{
|
||||
$response = new Response(
|
||||
200,
|
||||
[],
|
||||
Stream::factory('Body Text')
|
||||
);
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('send')
|
||||
->will($this->returnValue(new FutureResponse(
|
||||
new CompletedFutureValue($response)
|
||||
)));
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('createRequest')
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
$handler = new Guzzle5HttpHandler($this->mockClient);
|
||||
$promise = $handler->async($this->mockPsr7Request);
|
||||
$this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $promise->wait());
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertEquals('Body Text', (string) $response->getBody());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
* @expectedExceptionMessage This is a test rejection message
|
||||
*/
|
||||
public function testPromiseHandlesException()
|
||||
{
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('send')
|
||||
->will($this->returnValue(new FutureResponse(
|
||||
(new CompletedFutureValue(new Response(200)))
|
||||
->then(function () {
|
||||
throw new Exception('This is a test rejection message');
|
||||
})
|
||||
)));
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('createRequest')
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
$handler = new Guzzle5HttpHandler($this->mockClient);
|
||||
$promise = $handler->async($this->mockPsr7Request);
|
||||
$promise->wait();
|
||||
}
|
||||
|
||||
public function testCreateGuzzle5Request()
|
||||
{
|
||||
$requestHeaders = [
|
||||
'header1' => 'value1',
|
||||
'header2' => 'value2',
|
||||
];
|
||||
$this->mockPsr7Request
|
||||
->expects($this->once())
|
||||
->method('getHeaders')
|
||||
->will($this->returnValue($requestHeaders));
|
||||
$mockBody = $this->getMock('Psr\Http\Message\StreamInterface');
|
||||
$this->mockPsr7Request
|
||||
->expects($this->once())
|
||||
->method('getBody')
|
||||
->will($this->returnValue($mockBody));
|
||||
$this->mockClient
|
||||
->expects($this->once())
|
||||
->method('createRequest')
|
||||
->with(null, null, [
|
||||
'headers' => $requestHeaders + ['header3' => 'value3'],
|
||||
'body' => $mockBody,
|
||||
])
|
||||
->will($this->returnValue(
|
||||
$this->getMock('GuzzleHttp\Message\RequestInterface')
|
||||
));
|
||||
$this->mockClient
|
||||
->expects($this->once())
|
||||
->method('send')
|
||||
->will($this->returnValue(
|
||||
$this->getMock('GuzzleHttp\Message\ResponseInterface')
|
||||
));
|
||||
$handler = new Guzzle5HttpHandler($this->mockClient);
|
||||
$handler($this->mockPsr7Request, [
|
||||
'headers' => [
|
||||
'header3' => 'value3'
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
namespace Google\Auth\Tests;
|
||||
|
||||
use Google\Auth\HttpHandler\Guzzle6HttpHandler;
|
||||
use GuzzleHttp\Promise\Promise;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
|
||||
class Guzzle6HttpHandlerTest extends BaseTest
|
||||
@@ -47,4 +48,21 @@ class Guzzle6HttpHandlerTest extends BaseTest
|
||||
$response = $handler($this->mockRequest);
|
||||
$this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $response);
|
||||
}
|
||||
|
||||
public function testSuccessfullySendsRequestAsync()
|
||||
{
|
||||
$this->mockClient
|
||||
->expects($this->any())
|
||||
->method('sendAsync')
|
||||
->will($this->returnValue(new Promise(function () use (&$promise) {
|
||||
return $promise->resolve(new Response(200, [], 'Body Text'));
|
||||
})));
|
||||
|
||||
$handler = new Guzzle6HttpHandler($this->mockClient);
|
||||
$promise = $handler->async($this->mockRequest);
|
||||
$response = $promise->wait();
|
||||
$this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $response);
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
$this->assertEquals('Body Text', (string) $response->getBody());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $authResult['access_token'])
|
||||
->with('authorization', 'Bearer ' . $authResult['access_token'])
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test.
|
||||
@@ -98,7 +98,7 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ')
|
||||
->with('authorization', 'Bearer ')
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test.
|
||||
@@ -112,6 +112,10 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
{
|
||||
$cacheKey = 'myKey';
|
||||
$cachedValue = '2/abcdef1234567890';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -131,7 +135,7 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $cachedValue)
|
||||
->with('authorization', 'Bearer ' . $cachedValue)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test.
|
||||
@@ -151,6 +155,10 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
$prefix = 'test_prefix_';
|
||||
$cacheKey = 'myKey';
|
||||
$cachedValue = '2/abcdef1234567890';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -170,7 +178,7 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $cachedValue)
|
||||
->with('authorization', 'Bearer ' . $cachedValue)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test.
|
||||
@@ -221,7 +229,7 @@ class AuthTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $token)
|
||||
->with('authorization', 'Bearer ' . $token)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test.
|
||||
|
||||
@@ -68,7 +68,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $token)
|
||||
->with('authorization', 'Bearer ' . $token)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test
|
||||
@@ -84,6 +84,10 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$fakeAuthFunc = function ($unused_scopes) {
|
||||
return '';
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -96,7 +100,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $cachedValue)
|
||||
->with('authorization', 'Bearer ' . $cachedValue)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test
|
||||
@@ -118,6 +122,10 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$fakeAuthFunc = function ($unused_scopes) {
|
||||
return '';
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -130,7 +138,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $cachedValue)
|
||||
->with('authorization', 'Bearer ' . $cachedValue)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test
|
||||
@@ -153,7 +161,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->method('isHit')
|
||||
->will($this->returnValue(false));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
@@ -168,7 +176,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $token)
|
||||
->with('authorization', 'Bearer ' . $token)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test
|
||||
@@ -193,7 +201,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->method('isHit')
|
||||
->will($this->returnValue(false));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
@@ -212,7 +220,7 @@ class ScopedAccessTokenMiddlewareTest extends BaseTest
|
||||
$this->mockRequest
|
||||
->expects($this->once())
|
||||
->method('withHeader')
|
||||
->with('Authorization', 'Bearer ' . $token)
|
||||
->with('authorization', 'Bearer ' . $token)
|
||||
->will($this->returnValue($this->mockRequest));
|
||||
|
||||
// Run the test
|
||||
|
||||
36
vendor/google/auth/tests/OAuth2Test.php
vendored
36
vendor/google/auth/tests/OAuth2Test.php
vendored
@@ -20,8 +20,9 @@ namespace Google\Auth\Tests;
|
||||
use Google\Auth\OAuth2;
|
||||
use GuzzleHttp\Psr7;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class OAuth2AuthorizationUriTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2AuthorizationUriTest extends TestCase
|
||||
{
|
||||
private $minimal = [
|
||||
'authorizationUri' => 'https://accounts.test.org/insecure/url',
|
||||
@@ -170,7 +171,7 @@ class OAuth2AuthorizationUriTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2GrantTypeTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2GrantTypeTest extends TestCase
|
||||
{
|
||||
private $minimal = [
|
||||
'authorizationUri' => 'https://accounts.test.org/insecure/url',
|
||||
@@ -232,7 +233,7 @@ class OAuth2GrantTypeTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2GetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2GetCacheKeyTest extends TestCase
|
||||
{
|
||||
private $minimal = [
|
||||
'clientID' => 'aClientID',
|
||||
@@ -259,7 +260,7 @@ class OAuth2GetCacheKeyTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2TimingTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2TimingTest extends TestCase
|
||||
{
|
||||
private $minimal = [
|
||||
'authorizationUri' => 'https://accounts.test.org/insecure/url',
|
||||
@@ -319,7 +320,7 @@ class OAuth2TimingTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2GeneralTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2GeneralTest extends TestCase
|
||||
{
|
||||
private $minimal = [
|
||||
'authorizationUri' => 'https://accounts.test.org/insecure/url',
|
||||
@@ -363,7 +364,7 @@ class OAuth2GeneralTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2JwtTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2JwtTest extends TestCase
|
||||
{
|
||||
private $signingMinimal = [
|
||||
'signingKey' => 'example_key',
|
||||
@@ -454,6 +455,21 @@ class OAuth2JwtTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertEquals($roundTrip->scope, $testConfig['scope']);
|
||||
}
|
||||
|
||||
public function testCanHaveAdditionalClaims()
|
||||
{
|
||||
$publicKey = file_get_contents(__DIR__ . '/fixtures' . '/public.pem');
|
||||
$privateKey = file_get_contents(__DIR__ . '/fixtures' . '/private.pem');
|
||||
$testConfig = $this->signingMinimal;
|
||||
$targetAud = '123@456.com';
|
||||
$testConfig['additionalClaims'] = ['target_audience' => $targetAud];
|
||||
$o = new OAuth2($testConfig);
|
||||
$o->setSigningAlgorithm('RS256');
|
||||
$o->setSigningKey($privateKey);
|
||||
$payload = $o->toJwt();
|
||||
$roundTrip = $this->jwtDecode($payload, $publicKey, array('RS256'));
|
||||
$this->assertEquals($roundTrip->target_audience, $targetAud);
|
||||
}
|
||||
|
||||
private function jwtDecode()
|
||||
{
|
||||
$args = func_get_args();
|
||||
@@ -466,7 +482,7 @@ class OAuth2JwtTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2GenerateAccessTokenRequestTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2GenerateAccessTokenRequestTest extends TestCase
|
||||
{
|
||||
private $tokenRequestMinimal = [
|
||||
'tokenCredentialUri' => 'https://tokens_r_us/test',
|
||||
@@ -594,7 +610,7 @@ class OAuth2GenerateAccessTokenRequestTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertEquals('POST', $req->getMethod());
|
||||
$fields = Psr7\parse_query((string)$req->getBody());
|
||||
$this->assertEquals(OAuth2::JWT_URN, $fields['grant_type']);
|
||||
$this->assertTrue(array_key_exists('assertion', $fields));
|
||||
$this->assertArrayHasKey('assertion', $fields);
|
||||
}
|
||||
|
||||
public function testGeneratesExtendedRequests()
|
||||
@@ -614,7 +630,7 @@ class OAuth2GenerateAccessTokenRequestTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2FetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2FetchAuthTokenTest extends TestCase
|
||||
{
|
||||
private $fetchAuthTokenMinimal = [
|
||||
'tokenCredentialUri' => 'https://tokens_r_us/test',
|
||||
@@ -759,7 +775,7 @@ class OAuth2FetchAuthTokenTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
class OAuth2VerifyIdTokenTest extends \PHPUnit_Framework_TestCase
|
||||
class OAuth2VerifyIdTokenTest extends TestCase
|
||||
{
|
||||
private $publicKey;
|
||||
private $privateKey;
|
||||
|
||||
@@ -61,7 +61,7 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'not_google_auth']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$s->onBefore($before);
|
||||
$this->assertSame($request->getHeader('Authorization'), '');
|
||||
$this->assertSame($request->getHeader('authorization'), '');
|
||||
}
|
||||
|
||||
public function testAddsTheTokenAsAnAuthorizationHeader()
|
||||
@@ -79,7 +79,7 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'google_auth']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$a->onBefore($before);
|
||||
$this->assertSame($request->getHeader('Authorization'),
|
||||
$this->assertSame($request->getHeader('authorization'),
|
||||
'Bearer 1/abcdef1234567890');
|
||||
}
|
||||
|
||||
@@ -98,13 +98,17 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'google_auth']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$a->onBefore($before);
|
||||
$this->assertSame($request->getHeader('Authorization'), '');
|
||||
$this->assertSame($request->getHeader('authorization'), '');
|
||||
}
|
||||
|
||||
public function testUsesCachedAuthToken()
|
||||
{
|
||||
$cacheKey = 'myKey';
|
||||
$cachedValue = '2/abcdef1234567890';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -134,7 +138,7 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'google_auth']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$a->onBefore($before);
|
||||
$this->assertSame($request->getHeader('Authorization'),
|
||||
$this->assertSame($request->getHeader('authorization'),
|
||||
'Bearer 2/abcdef1234567890');
|
||||
}
|
||||
|
||||
@@ -143,6 +147,10 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
$prefix = 'test_prefix_';
|
||||
$cacheKey = 'myKey';
|
||||
$cachedValue = '2/abcdef1234567890';
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -172,7 +180,7 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'google_auth']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$a->onBefore($before);
|
||||
$this->assertSame($request->getHeader('Authorization'),
|
||||
$this->assertSame($request->getHeader('authorization'),
|
||||
'Bearer 2/abcdef1234567890');
|
||||
}
|
||||
|
||||
@@ -222,7 +230,7 @@ class AuthTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'google_auth']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$a->onBefore($before);
|
||||
$this->assertSame($request->getHeader('Authorization'),
|
||||
$this->assertSame($request->getHeader('authorization'),
|
||||
'Bearer 1/abcdef1234567890');
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$s->onBefore($before);
|
||||
$this->assertSame(
|
||||
'Bearer 1/abcdef1234567890',
|
||||
$request->getHeader('Authorization')
|
||||
$request->getHeader('authorization')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -92,6 +92,10 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$fakeAuthFunc = function ($unused_scopes) {
|
||||
return '';
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -112,7 +116,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$s->onBefore($before);
|
||||
$this->assertSame(
|
||||
'Bearer 2/abcdef1234567890',
|
||||
$request->getHeader('Authorization')
|
||||
$request->getHeader('authorization')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -123,6 +127,10 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$fakeAuthFunc = function ($unused_scopes) {
|
||||
return '';
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('isHit')
|
||||
->will($this->returnValue(true));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
@@ -144,7 +152,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$s->onBefore($before);
|
||||
$this->assertSame(
|
||||
'Bearer 2/abcdef1234567890',
|
||||
$request->getHeader('Authorization')
|
||||
$request->getHeader('authorization')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -156,7 +164,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->method('isHit')
|
||||
->will($this->returnValue(false));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
@@ -177,7 +185,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$s->onBefore($before);
|
||||
$this->assertSame(
|
||||
'Bearer 2/abcdef1234567890',
|
||||
$request->getHeader('Authorization')
|
||||
$request->getHeader('authorization')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -191,7 +199,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
};
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->method('isHit')
|
||||
->will($this->returnValue(false));
|
||||
$this->mockCacheItem
|
||||
->expects($this->once())
|
||||
@@ -218,7 +226,7 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
$s->onBefore($before);
|
||||
$this->assertSame(
|
||||
'Bearer 2/abcdef1234567890',
|
||||
$request->getHeader('Authorization')
|
||||
$request->getHeader('authorization')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -233,6 +241,6 @@ class ScopedAccessTokenSubscriberTest extends BaseTest
|
||||
['auth' => 'notscoped']);
|
||||
$before = new BeforeEvent(new Transaction($client, $request));
|
||||
$s->onBefore($before);
|
||||
$this->assertSame('', $request->getHeader('Authorization'));
|
||||
$this->assertSame('', $request->getHeader('authorization'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user