| <?php |
|
|
| use JsonRPC\Request\RequestBuilder; |
|
|
| require_once __DIR__.'/../../../../vendor/autoload.php'; |
|
|
| class RequestBuilderTest extends PHPUnit_Framework_TestCase |
| { |
| public function testBuilder() |
| { |
| $payload = RequestBuilder::create() |
| ->withId(123) |
| ->withProcedure('foobar') |
| ->withParams(array(1, 2, 3)) |
| ->build(); |
|
|
| $this->assertEquals('{"jsonrpc":"2.0","method":"foobar","id":123,"params":[1,2,3]}', $payload); |
| } |
|
|
| public function testBuilderWithoutParams() |
| { |
| $payload = RequestBuilder::create() |
| ->withId(123) |
| ->withProcedure('foobar') |
| ->build(); |
|
|
| $this->assertEquals('{"jsonrpc":"2.0","method":"foobar","id":123}', $payload); |
| } |
|
|
| public function testBuilderWithoutId() |
| { |
| $payload = RequestBuilder::create() |
| ->withProcedure('foobar') |
| ->withParams(array(1, 2, 3)) |
| ->build(); |
|
|
| $result = json_decode($payload, true); |
| $this->assertNotNull($result['id']); |
| } |
|
|
| public function testBuilderWithAdditionalRequestAttributes() |
| { |
| $payload = RequestBuilder::create() |
| ->withProcedure('foobar') |
| ->withParams(array(1, 2, 3)) |
| ->withRequestAttributes(array("some-attr" => 42)) |
| ->build(); |
|
|
| $result = json_decode($payload, true); |
| $this->assertNotNull($result['some-attr']); |
| } |
|
|
| } |
|
|