Skip to content

Commit aa14791

Browse files
committed
refactoring and finished BloomFilter integration tests from client
1 parent 1f4b831 commit aa14791

18 files changed

+212
-72
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
/**
3+
* @project phpredis-bloom
4+
* @author Rafael Campoy <[email protected]>
5+
* @copyright 2019 Rafael Campoy <[email protected]>
6+
* @license MIT
7+
* @link https://github.com/averias/php-rejson
8+
*
9+
* Copyright and license information, is included in
10+
* the LICENSE file that is distributed with this source code.
11+
*/
12+
13+
namespace Averias\RedisBloom\Client;
14+
15+
use Averias\RedisBloom\Adapter\RedisClientAdapterInterface;
16+
use Averias\RedisBloom\Exception\ResponseException;
17+
use Averias\RedisBloom\Parser\ParserTrait;
18+
19+
class BaseRedisBloomClient
20+
{
21+
use ParserTrait;
22+
23+
/** @var RedisClientAdapterInterface */
24+
protected $redisClientAdapter;
25+
26+
public function __construct(RedisClientAdapterInterface $redisClientAdapter)
27+
{
28+
$this->redisClientAdapter = $redisClientAdapter;
29+
}
30+
31+
/**
32+
* @param string $command
33+
* @param string $key
34+
* @param array $params
35+
* @return mixed
36+
* @throws ResponseException
37+
*/
38+
protected function executeBloomCommand(string $command, string $key, array $params = [])
39+
{
40+
$response = $this->redisClientAdapter->executeBloomCommand($command, $key, $params);
41+
return $this->parseResponse($command, $response);
42+
}
43+
}

src/RedisBloomClient/Client/RedisBloomClient.php

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,12 @@
1414

1515
use Averias\RedisBloom\Command\Traits\BloomCommandTrait;
1616
use Averias\RedisBloom\Exception\ResponseException;
17-
use Averias\RedisBloom\Adapter\RedisClientAdapterInterface;
18-
use Averias\RedisBloom\Parser\ParserTrait;
1917
use Averias\RedisBloom\Validator\InputValidatorTrait;
2018

21-
class RedisBloomClient implements RedisBloomClientInterface
19+
class RedisBloomClient extends BaseRedisBloomClient implements RedisBloomClientInterface
2220
{
2321
use BloomCommandTrait;
2422
use InputValidatorTrait;
25-
use ParserTrait;
26-
27-
/** @var RedisClientAdapterInterface */
28-
protected $redisClientAdapter;
29-
30-
public function __construct(RedisClientAdapterInterface $redisClientAdapter)
31-
{
32-
$this->redisClientAdapter = $redisClientAdapter;
33-
}
3423

3524
/**
3625
* @param string $commandName
@@ -53,17 +42,4 @@ public function __call(string $name, array $arguments)
5342
{
5443
return $this->redisClientAdapter->executeCommandByName($name, $arguments);
5544
}
56-
57-
/**
58-
* @param string $command
59-
* @param string $key
60-
* @param array $params
61-
* @return mixed
62-
* @throws ResponseException
63-
*/
64-
protected function executeBloomCommand(string $command, string $key, array $params = [])
65-
{
66-
$response = $this->redisClientAdapter->executeBloomCommand($command, $key, $params);
67-
return $this->parseResponse($command, $response);
68-
}
6945
}

src/RedisBloomClient/DataTypes/BaseDataType.php

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,37 +13,21 @@
1313
namespace Averias\RedisBloom\DataTypes;
1414

1515
use Averias\RedisBloom\Adapter\RedisClientAdapterInterface;
16-
use Averias\RedisBloom\Exception\ResponseException;
16+
use Averias\RedisBloom\Client\BaseRedisBloomClient;
1717
use Averias\RedisBloom\Parser\ParserTrait;
1818
use Averias\RedisBloom\Validator\InputValidatorTrait;
1919

20-
class BaseDataType
20+
class BaseDataType extends BaseRedisBloomClient
2121
{
2222
use InputValidatorTrait;
2323
use ParserTrait;
2424

2525
/** @var string */
2626
protected $name;
2727

28-
/** @var RedisClientAdapterInterface */
29-
protected $redisClientAdapter;
30-
3128
public function __construct(string $filterName, RedisClientAdapterInterface $redisClientAdapter)
3229
{
30+
parent::__construct($redisClientAdapter);
3331
$this->name = $filterName;
34-
$this->redisClientAdapter = $redisClientAdapter;
35-
}
36-
37-
/**
38-
* @param string $command
39-
* @param string $key
40-
* @param array $params
41-
* @return mixed
42-
* @throws ResponseException
43-
*/
44-
protected function executeBloomCommand(string $command, string $key, array $params = [])
45-
{
46-
$response = $this->redisClientAdapter->executeBloomCommand($command, $key, $params);
47-
return $this->parseResponse($command, $response);
4832
}
4933
}

src/RedisBloomClient/Factory/RedisBloomClientFactoryInterface.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@
1212

1313
namespace Averias\RedisBloom\Factory;
1414

15+
use Averias\RedisBloom\Adapter\RedisClientAdapterInterface;
1516
use Averias\RedisBloom\Client\RedisBloomClientInterface;
17+
use Averias\RedisBloom\DataTypes\BloomFilter;
1618

1719
interface RedisBloomClientFactoryInterface
1820
{
21+
public function getAdapter(array $config = []): RedisClientAdapterInterface;
1922
public function createClient(array $config): RedisBloomClientInterface;
23+
public function createBloomFilter(string $filterName, array $config = []): BloomFilter;
2024
}

src/RedisBloomClient/Parser/Request/BloomFilterInsertOptionalParams.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class BloomFilterInsertOptionalParams implements ParserInterface
2323
/**
2424
* @param $optionalParams
2525
* @return array
26+
* @throws ResponseException
2627
*/
2728
public function parse($optionalParams)
2829
{

src/RedisBloomClient/Parser/Response/ArrayOfIntegerToBool.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
class ArrayOfIntegerToBool extends BaseResponseParser implements ParserInterface
1818
{
19+
/**
20+
* @param $response
21+
* @return mixed
22+
*/
1923
public function parse($response)
2024
{
2125
foreach ($response as $key => $item) {

src/RedisBloomClient/Parser/Response/BaseResponseParser.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414

1515
class BaseResponseParser
1616
{
17+
/**
18+
* @param int $data
19+
* @return bool
20+
*/
1721
public function convertIntegerToBool(int $data)
1822
{
1923
return (bool) $data;

src/RedisBloomClient/Parser/Response/IntegerToBool.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
class IntegerToBool extends BaseResponseParser implements ParserInterface
1818
{
19+
/**
20+
* @param $response
21+
* @return bool
22+
*/
1923
public function parse($response)
2024
{
2125
return $this->convertIntegerToBool($response);

src/RedisBloomClient/Parser/Response/OkToTrue.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717

1818
class OkToTrue implements ParserInterface
1919
{
20+
/**
21+
* @param $response
22+
* @return bool
23+
* @throws ResponseException
24+
*/
2025
public function parse($response): bool
2126
{
2227
if (!is_string($response)) {

tests/Integration/BaseTestIntegration.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ public static function tearDownAfterClass(): void
3939
}
4040
}
4141

42-
protected static function getReBloomClientConfig()
42+
/**
43+
* @return array
44+
*/
45+
protected static function getReBloomClientConfig(): array
4346
{
4447
return [
4548
Connection::HOST => REDIS_TEST_SERVER,

0 commit comments

Comments
 (0)