You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.3 KiB
55 lines
2.3 KiB
<?php
|
|
|
|
use League\Flysystem\Cached\Storage\Predis;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class PredisTests extends TestCase
|
|
{
|
|
public function testLoadFail()
|
|
{
|
|
$client = Mockery::mock('Predis\Client');
|
|
$command = Mockery::mock('Predis\Command\CommandInterface');
|
|
$client->shouldReceive('createCommand')->with('get', ['flysystem'])->once()->andReturn($command);
|
|
$client->shouldReceive('executeCommand')->with($command)->andReturn(null);
|
|
$cache = new Predis($client);
|
|
$cache->load();
|
|
$this->assertFalse($cache->isComplete('', false));
|
|
}
|
|
|
|
public function testLoadSuccess()
|
|
{
|
|
$response = json_encode([[], ['' => true]]);
|
|
$client = Mockery::mock('Predis\Client');
|
|
$command = Mockery::mock('Predis\Command\CommandInterface');
|
|
$client->shouldReceive('createCommand')->with('get', ['flysystem'])->once()->andReturn($command);
|
|
$client->shouldReceive('executeCommand')->with($command)->andReturn($response);
|
|
$cache = new Predis($client);
|
|
$cache->load();
|
|
$this->assertTrue($cache->isComplete('', false));
|
|
}
|
|
|
|
public function testSave()
|
|
{
|
|
$data = json_encode([[], []]);
|
|
$client = Mockery::mock('Predis\Client');
|
|
$command = Mockery::mock('Predis\Command\CommandInterface');
|
|
$client->shouldReceive('createCommand')->with('set', ['flysystem', $data])->once()->andReturn($command);
|
|
$client->shouldReceive('executeCommand')->with($command)->once();
|
|
$cache = new Predis($client);
|
|
$cache->save();
|
|
}
|
|
|
|
public function testSaveWithExpire()
|
|
{
|
|
$data = json_encode([[], []]);
|
|
$client = Mockery::mock('Predis\Client');
|
|
$command = Mockery::mock('Predis\Command\CommandInterface');
|
|
$client->shouldReceive('createCommand')->with('set', ['flysystem', $data])->once()->andReturn($command);
|
|
$client->shouldReceive('executeCommand')->with($command)->once();
|
|
$expireCommand = Mockery::mock('Predis\Command\CommandInterface');
|
|
$client->shouldReceive('createCommand')->with('expire', ['flysystem', 20])->once()->andReturn($expireCommand);
|
|
$client->shouldReceive('executeCommand')->with($expireCommand)->once();
|
|
$cache = new Predis($client, 'flysystem', 20);
|
|
$cache->save();
|
|
}
|
|
}
|
|
|