Completed
Pull Request — dev (#11)
by
unknown
05:12 queued 01:17
created

JsonRpcRequestTest::synopsis()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 33
rs 8.8571
cc 1
eloc 21
nc 1
nop 0
1
<?php
2
3
namespace Vectorface\SnappyRouterTests\Request;
4
5
use Vectorface\SnappyRouter\Request\JsonRpcRequest;
6
7
/**
8
 * Tests the JsonRpcRequest class.
9
 *
10
 * @copyright Copyright (c) 2014, VectorFace, Inc.
11
 */
12
class JsonRpcRequestTest extends \PHPUnit_Framework_TestCase
13
{
14
    /**
15
     * An overview of how to use the JsonRpcRequest class.
16
     * @test
17
     */
18
    public function synopsis()
19
    {
20
        /* Handles JSON-RPC 1.0 requests. */
21
        $request = new JsonRpcRequest('MyService', (object)array(
22
            'method' => 'remoteProcedure',
23
            'params' => array(1, 2, 3),
24
            'id' => 'uniqueidentifier'
25
        ));
26
27
        $this->assertEquals('POST', $request->getVerb());
28
        $this->assertEquals('remoteProcedure', $request->getMethod());
29
        $this->assertEquals('1.0', $request->getVersion());
30
        $this->assertEquals(array(1, 2, 3), $request->getParameters());
31
        $this->assertEquals('uniqueidentifier', $request->getIdentifier());
32
        $this->assertNull($request->getPost('anything')); // Post should be ignored.
33
34
        /* Handles JSON-RPC 2.0 requests. */
35
        $request = new JsonRpcRequest('MyService', (object)array(
36
            'jsonrpc' => '2.0',
37
            'method' => 'remoteProcedure',
38
            'id' => 'uniqueidentifier'
39
        ));
40
41
        $this->assertEquals('2.0', $request->getVersion());
42
        $this->assertEquals(array(), $request->getParameters());
43
44
        /* Catches invalid request format. */
45
        $request = new JsonRpcRequest('MyService', (object)array(
46
            'jsonrpc' => '2.0',
47
            'method' => null
48
        ));
49
        $this->assertFalse($request->isValid());
50
    }
51
}
52