1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
<?php /* * Copyright 2015 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */
namespace Google\Auth\Tests;
use Google\Auth\Credentials\GCECredentials; use GuzzleHttp\Psr7; use GuzzleHttp\Psr7\Response;
class GCECredentialsOnGCETest extends \PHPUnit_Framework_TestCase { public function testIsFalseOnClientErrorStatus() { $httpHandler = getHandler([ buildResponse(400), ]); $this->assertFalse(GCECredentials::onGCE($httpHandler)); }
public function testIsFalseOnServerErrorStatus() { $httpHandler = getHandler([ buildResponse(500), ]); $this->assertFalse(GCECredentials::onGCE($httpHandler)); }
public function testIsFalseOnOkStatusWithoutExpectedHeader() { $httpHandler = getHandler([ buildResponse(200), ]); $this->assertFalse(GCECredentials::onGCE($httpHandler)); }
public function testIsOkIfGoogleIsTheFlavor() { $httpHandler = getHandler([ buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), ]); $this->assertTrue(GCECredentials::onGCE($httpHandler)); } }
class GCECredentialsOnAppEngineFlexibleTest extends \PHPUnit_Framework_TestCase { public function testIsFalseByDefault() { $this->assertFalse(GCECredentials::onAppEngineFlexible()); }
public function testIsTrueWhenGaeVmIsTrue() { $_SERVER['GAE_VM'] = 'true'; $this->assertTrue(GCECredentials::onAppEngineFlexible()); } }
class GCECredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase { public function testShouldNotBeEmpty() { $g = new GCECredentials(); $this->assertNotEmpty($g->getCacheKey()); } }
class GCECredentialsFetchAuthTokenTest extends \PHPUnit_Framework_TestCase { public function testShouldBeEmptyIfNotOnGCE() { $httpHandler = getHandler([ buildResponse(500), ]); $g = new GCECredentials(); $this->assertEquals(array(), $g->fetchAuthToken($httpHandler)); }
/** * @expectedException Exception * @expectedExceptionMessage Invalid JSON response */ public function testShouldFailIfResponseIsNotJson() { $notJson = '{"foo": , this is cannot be passed as json" "bar"}'; $httpHandler = getHandler([ buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), buildResponse(200, [], $notJson), ]); $g = new GCECredentials(); $g->fetchAuthToken($httpHandler); }
public function testShouldReturnTokenInfo() { $wantedTokens = [ 'access_token' => '1/abdef1234567890', 'expires_in' => '57', 'token_type' => 'Bearer', ]; $jsonTokens = json_encode($wantedTokens); $httpHandler = getHandler([ buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), buildResponse(200, [], Psr7\stream_for($jsonTokens)), ]); $g = new GCECredentials(); $this->assertEquals($wantedTokens, $g->fetchAuthToken($httpHandler)); $this->assertEquals(time() + 57, $g->getLastReceivedToken()['expires_at']); } }
|