Completed
Branch develop (3cde25)
by Adam
14:50
created

RequestBuilderTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 6
dl 0
loc 33
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace IBM\Watson\Common\tests;
4
5
use GuzzleHttp\Psr7\Request;
6
use GuzzleHttp\Psr7\Stream;
7
use Http\Discovery\MessageFactoryDiscovery;
8
use Http\Discovery\StreamFactoryDiscovery;
9
use Http\Message\MultipartStream\MultipartStreamBuilder;
10
use Http\Message\RequestFactory;
11
use Http\Message\StreamFactory;
12
use IBM\Watson\Common\RequestBuilder;
13
use PHPUnit\Framework\TestCase;
14
use Mockery as m;
15
use Psr\Http\Message\RequestInterface;
16
use Psr\Http\Message\StreamInterface;
17
18
class RequestBuilderTest extends TestCase
19
{
20
    private $requestFactory;
21
    private $multipartStreamBuilder;
22
23
    public function setUp()
24
    {
25
        $this->requestFactory = MessageFactoryDiscovery::find();
26
        $streamFactory = StreamFactoryDiscovery::find();
27
        $this->multipartStreamBuilder = m::mock(MultipartStreamBuilder::class, [$streamFactory])->makePartial();
28
    }
29
30
    public function testCreate()
31
    {
32
        $requestBuilder = new RequestBuilder($this->requestFactory, $this->multipartStreamBuilder);
33
34
        $this->assertInstanceOf(RequestInterface::class, $requestBuilder->create('GET', '/something', []));
35
    }
36
37
    public function testCreateMultipartStream()
38
    {
39
        $requestBuilder = new RequestBuilder($this->requestFactory, $this->multipartStreamBuilder);
40
41
        $params = [
42
            [
43
                'name' => 'somename',
44
                'content' => 'content'
45
            ]
46
        ];
47
48
        $this->assertInstanceOf(RequestInterface::class, $requestBuilder->create('GET', '/something', [], $params));
49
    }
50
}
51