for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ScayTrase\Api\JsonRpc\Tests;
use GuzzleHttp\Psr7\Uri;
use Prophecy\Argument;
use ScayTrase\Api\IdGenerator\IdGeneratorInterface;
use ScayTrase\Api\JsonRpc\JsonRpcClient;
use ScayTrase\Api\Rpc\Tests\RpcRequestTrait;
final class RpcClientTest extends AbstractJsonRpcClientTest
{
use RpcRequestTrait;
const REQUEST_ID = 'request_id';
public function testRpcRequestHandling()
$request = $this->getRequestMock('test', ['param1' => 'value1']);
$client = new JsonRpcClient($this->getClient(), new Uri(), $this->getStaticIdGenerator(self::REQUEST_ID));
$this->pushResult((object)['success' => true], self::REQUEST_ID);
$collection = $client->invoke($request);
$response = $collection->getResponse($request);
$response
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
}
public function getStaticIdGenerator($id)
$generator = $this->prophesize(IdGeneratorInterface::class);
$generator->getRequestIdentifier(Argument::any())->willReturn($id);
return $generator->reveal();
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVar
assignment in line 1 and the$higher
assignment in line 2 are dead. The first because$myVar
is never used and the second because$higher
is always overwritten for every possible time line.