ClientRequestTest::itSetsInitialProperties()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 2
Metric Value
cc 1
eloc 11
c 2
b 0
f 2
nc 1
nop 0
dl 0
loc 15
rs 9.9
1
<?php
2
3
namespace EasyHttp\LayerContracts\Tests\Unit\Common;
4
5
use EasyHttp\LayerContracts\Common\SecurityContext;
6
use EasyHttp\LayerContracts\Tests\TestCase;
7
use EasyHttp\LayerContracts\Tests\Unit\Example\ClientRequest;
8
9
class ClientRequestTest extends TestCase
10
{
11
    /**
12
     * @test
13
     */
14
    public function itSetsInitialProperties()
15
    {
16
        $method = 'POST';
17
        $url = $this->faker->url;
18
19
        $request = new ClientRequest($method, $url);
20
21
        $this->assertSame($method, $request->getMethod());
22
        $this->assertSame($url, $request->getUri());
23
        $this->assertFalse($request->hasHeaders());
24
        $this->assertFalse($request->hasJson());
25
        $this->assertFalse($request->hasQuery());
26
        $this->assertFalse($request->hasSecurityContext());
27
        $this->assertFalse($request->isSSL());
28
        $this->assertFalse($request->hasBasicAuth());
29
    }
30
31
    /**
32
     * @test
33
     */
34
    public function itCanChangeItsData()
35
    {
36
        $request = new ClientRequest('POST', $this->faker->url);
37
38
        $method = 'GET';
39
        $url = $this->faker->url;
40
        $request->setMethod($method);
41
        $request->setUri($url);
42
        $request->setJson(['foo' => 'bar']);
43
        $request->setQuery(['bar' => 'baz']);
44
        $request->setTimeout(20);
45
        $request->setHeaders(['a' => 'b']);
46
        $request->setHeader('auth', 'xdsG56');
47
        $request->setBasicAuth('user', 'pass');
48
        $security = new SecurityContext();
49
        $request->setSecurityContext($security);
50
        $request->ssl(true);
51
52
        $this->assertSame($method, $request->getMethod());
53
        $this->assertSame($url, $request->getUri());
54
        $this->assertSame(['foo' => 'bar'], $request->getJson());
55
        $this->assertTrue($request->hasJson());
56
        $this->assertSame(['bar' => 'baz'], $request->getQuery());
57
        $this->assertTrue($request->hasQuery());
58
        $this->assertSame(20, $request->getTimeout());
59
        $this->assertSame('xdsG56', $request->getHeader('auth'));
60
        $this->assertSame(['a' => 'b', 'auth' => 'xdsG56'], $request->getHeaders());
61
        $this->assertTrue($request->hasHeaders());
62
        $this->assertSame(['user', 'pass'], $request->getBasicAuth());
63
        $this->assertTrue($request->hasBasicAuth());
64
        $this->assertTrue($request->hasSecurityContext());
65
        $this->assertTrue($request->isSSL());
66
    }
67
}
68