Completed
Push — master ( 7fb6c9...4d15ff )
by Ole
02:41
created

SwaggerServiceTest::getSwagger()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 9
rs 9.6666
cc 1
eloc 6
nc 1
nop 0
1
<?php
2
3
4
namespace Basster\Silex\Provider\Test\Swagger;
5
6
7
use Basster\Silex\Provider\Swagger\SwaggerConfig;
8
use Basster\Silex\Provider\Swagger\SwaggerService;
9
use Basster\Silex\Provider\Test\Swagger\Dummy\SwaggerService as SwaggerDummy;
10
use Symfony\Component\HttpFoundation\Response;
11
12
class SwaggerServiceTest extends \PHPUnit_Framework_TestCase
13
{
14
    /**
15
     * @test
16
     */
17
    public function getSwaggerResponse()
18
    {
19
        $swagger = 'foobar';
20
        $maxAge  = 60;
21
22
        $config = $this->prophesize('Basster\Silex\Provider\Swagger\SwaggerConfig');
23
24
        $service = new SwaggerDummy($config->reveal());
25
        $service->setSwagger($swagger);
26
        $cache = ['max_age' => $maxAge];
27
28
        $response = $service->getSwaggerResponse($cache);
29
30
        self::assertEquals(Response::HTTP_OK, $response->getStatusCode());
31
        self::assertEquals('application/json',
32
          $response->headers->get('Content-Type'));
33
        self::assertEquals('"' . md5($swagger) . '"',
34
          $response->headers->get('ETag'));
35
        self::assertSame($response->getMaxAge(), $maxAge);
36
    }
37
38
    /**
39
     * @test
40
     */
41
    public function getSwagger()
42
    {
43
        $service = new SwaggerService(new SwaggerConfig(__DIR__ . '/Swag'));
44
        $swagger = $service->getSwagger();
45
46
        self::assertInstanceOf('\Swagger\Annotations\Swagger', $swagger);
47
        self::assertContains('"title": "My First API"', (string)$swagger);
48
        self::assertContains('"version": "0.1"', (string)$swagger);
49
    }
50
}
51