Code Duplication    Length = 58-58 lines in 2 locations

Tests/Manager/JwtManagerTest.php 2 locations

@@ 98-155 (lines=58) @@
95
        $this->assertEquals('1453720507', $token->getToken());
96
    }
97
98
    public function testGetTokenShouldGetNewTokenIfCachedTokenIsNotValid()
99
    {
100
        $mockHandler = new MockHandler(
101
            [
102
                function (RequestInterface $request) {
103
104
                    $this->assertTrue($request->hasHeader('timeout'));
105
                    $this->assertEquals(
106
                        3,
107
                        $request->getHeaderLine('timeout')
108
                    );
109
110
                    return new Response(
111
                        200,
112
                        ['Content-Type' => 'application/json'],
113
                        json_encode(['token' => '1453720507'])
114
                    );
115
                },
116
                function (RequestInterface $request) {
117
118
                    $this->assertTrue($request->hasHeader('timeout'));
119
                    $this->assertEquals(
120
                        3,
121
                        $request->getHeaderLine('timeout')
122
                    );
123
124
                    return new Response(
125
                        200,
126
                        ['Content-Type' => 'application/json'],
127
                        json_encode(['token' => 'foo123'])
128
                    );
129
                },
130
            ]
131
        );
132
133
        $handler = HandlerStack::create($mockHandler);
134
135
        $authClient = new Client([
136
            'handler' => $handler,
137
        ]);
138
139
        $authStrategy = new QueryAuthStrategy(['username' => 'admin', 'password' => 'admin']);
140
141
        $jwtManager = new JwtManager(
142
            $authClient,
143
            $authStrategy,
144
            ['token_url' => '/api/token', 'timeout' => 3]
145
        );
146
        $token = $jwtManager->getJwtToken();
147
148
        $this->assertInstanceOf(JwtToken::class, $token);
149
        $this->assertEquals('1453720507', $token->getToken());
150
151
        $token = $jwtManager->getJwtToken();
152
153
        $this->assertInstanceOf(JwtToken::class, $token);
154
        $this->assertEquals('foo123', $token->getToken());
155
    }
156
157
    public function testGetTokenShouldUseTheCachedTokenIfItIsValid()
158
    {
@@ 157-214 (lines=58) @@
154
        $this->assertEquals('foo123', $token->getToken());
155
    }
156
157
    public function testGetTokenShouldUseTheCachedTokenIfItIsValid()
158
    {
159
        $mockHandler = new MockHandler(
160
            [
161
                function (RequestInterface $request) {
162
163
                    $this->assertTrue($request->hasHeader('timeout'));
164
                    $this->assertEquals(
165
                        3,
166
                        $request->getHeaderLine('timeout')
167
                    );
168
169
                    return new Response(
170
                        200,
171
                        ['Content-Type' => 'application/json'],
172
                        json_encode(['token' => '1453720507', 'expires_in' => 3600])
173
                    );
174
                },
175
                function (RequestInterface $request) {
176
177
                    $this->assertTrue($request->hasHeader('timeout'));
178
                    $this->assertEquals(
179
                        3,
180
                        $request->getHeaderLine('timeout')
181
                    );
182
183
                    return new Response(
184
                        200,
185
                        ['Content-Type' => 'application/json'],
186
                        json_encode(['token' => 'foo123'])
187
                    );
188
                },
189
            ]
190
        );
191
192
        $handler = HandlerStack::create($mockHandler);
193
194
        $authClient = new Client([
195
            'handler' => $handler,
196
        ]);
197
198
        $authStrategy = new QueryAuthStrategy(['username' => 'admin', 'password' => 'admin']);
199
200
        $jwtManager = new JwtManager(
201
            $authClient,
202
            $authStrategy,
203
            ['token_url' => '/api/token', 'timeout' => 3]
204
        );
205
        $token = $jwtManager->getJwtToken();
206
207
        $this->assertInstanceOf(JwtToken::class, $token);
208
        $this->assertEquals('1453720507', $token->getToken());
209
210
        $token = $jwtManager->getJwtToken();
211
212
        $this->assertInstanceOf(JwtToken::class, $token);
213
        $this->assertEquals('1453720507', $token->getToken());
214
    }
215
}
216