Completed
Push — master ( 7e93b1...fb0071 )
by Дмитрий
03:44
created

AbstractProviderTestCase   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
c 0
b 0
f 0
lcom 0
cbo 3
dl 0
loc 39
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A makeIdentityClientResponse() 0 20 1
A callProtectedMethod() 0 9 1
1
<?php
2
/**
3
 * SocialConnect project
4
 * @author: Patsura Dmitry https://github.com/ovr <[email protected]>
5
 */
6
7
namespace Test\Providers;
8
9
use ReflectionClass;
10
use SocialConnect\Auth\Provider\Exception\InvalidAccessToken;
11
use SocialConnect\Auth\Consumer;
12
use SocialConnect\OAuth2\AccessToken;
13
use SocialConnect\Common\Http\Client\ClientInterface;
14
use Test\TestCase;
15
16
class AbstractProviderTestCase extends TestCase
17
{
18
    protected function makeIdentityClientResponse(array $responseData)
19
    {
20
        $mockedHttpClient = $this->getMockBuilder(\SocialConnect\Common\Http\Client\Curl::class)
21
            ->disableProxyingToOriginalMethods()
22
            ->getMock();
23
24
        $response = new \SocialConnect\Common\Http\Response(
25
            200,
26
            json_encode(
27
                $responseData
28
            ),
29
            []
30
        );
31
32
        $mockedHttpClient->expects($this->once())
33
            ->method('request')
34
            ->willReturn($response);
35
36
        return $mockedHttpClient;
37
    }
38
39
    /**
40
     * @param object $object
41
     * @param string $name
42
     * @param array $params
43
     * @return mixed
44
     */
45
    protected static function callProtectedMethod($object, $name, array $params = [])
46
    {
47
        $class = new ReflectionClass($object);
48
49
        $method = $class->getMethod($name);
50
        $method->setAccessible(true);
51
52
        return $method->invokeArgs($object, $params);
53
    }
54
}
55