summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/tests/unit/Common/Auth
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
commit26d10bc0fa4befbac54453228ae1ce89021bdec2 (patch)
tree029d7240ecf7416205e5f76cf9107a6b5bdf8ca3 /server/vendor/php-opencloud/common/tests/unit/Common/Auth
parent8ad216dedf017f3d6de047a25d08db3b98e16361 (diff)
parent03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff)
Merge branch 'develop' into loic
Diffstat (limited to 'server/vendor/php-opencloud/common/tests/unit/Common/Auth')
-rw-r--r--server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php
new file mode 100644
index 0000000..3c77dde
--- /dev/null
+++ b/server/vendor/php-opencloud/common/tests/unit/Common/Auth/AuthHandlerTest.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace OpenCloud\Test\Common\Auth;
+
+use GuzzleHttp\Psr7\Request;
+use OpenCloud\Common\Auth\AuthHandler;
+use OpenCloud\Common\Auth\Token;
+use OpenCloud\Test\TestCase;
+use Psr\Http\Message\RequestInterface;
+
+class AuthHandlerTest extends TestCase
+{
+ const TOKEN_ID = 'tokenId';
+
+ private $generator;
+ private $handler;
+
+ public function setUp()
+ {
+ $this->generator = function () {
+ $token = $this->prophesize(FakeToken::class);
+ $token->getId()->shouldBeCalled()->willReturn(self::TOKEN_ID);
+ return $token->reveal();
+ };
+
+ $this->handler = function (RequestInterface $r) {
+ return $r;
+ };
+
+ $this->handler = new AuthHandler($this->handler, $this->generator);
+ }
+
+ public function test_it_should_bypass_auth_http_requests()
+ {
+ // Fake a Keystone request
+ $request = new Request('POST', 'https://my-openstack.org:5000/v2.0/tokens');
+
+ $this->assertEquals($request, call_user_func_array($this->handler, [$request, []]));
+ }
+
+ public function test_it_should_generate_a_new_token_if_the_current_token_is_either_expired_or_not_set()
+ {
+ $token = $this->prophesize(Token::class);
+
+ // force the mock token to indicate that its expired
+ $token->getId()->willReturn('');
+ $token->hasExpired()->willReturn(true);
+
+ $request = new Request('GET', '');
+
+ $handler = new AuthHandler($this->handler, $this->generator, $token->reveal());
+ $handler($request, []);
+ }
+}
+
+class FakeToken implements Token {
+ public function getId() {}
+ public function hasExpired() {}
+} \ No newline at end of file