-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
198 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
### Check Any Value in Redis | ||
|
||
#### Step Definition: | ||
|
||
This step checks if any value exists in Redis under a specified key. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
When I see in redis any value by key "testKey" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
### Check an Array in Redis | ||
|
||
#### Step Definition: | ||
|
||
This step checks if the data stored in Redis as a hash matches the expected JSON structure. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
Then I see in redis array by key "arrayKey": | ||
""" | ||
{ | ||
"key1": "value1", | ||
"key2": "value2" | ||
} | ||
""" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
### Check the Absence of a Value in Redis | ||
|
||
#### Step Definition: | ||
|
||
This step checks that no exists under a specific key in Redis. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
When I don't see in redis key "testKey" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
### Check a Serialized Value in Redis | ||
|
||
#### Step Definition: | ||
|
||
This step checks if a serialized value in Redis matches the expected value. It unserializes the value before comparing. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
When I see in redis serialized value "testSerializedValue" by key "serializedKey" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
### Check a Value in Redis | ||
|
||
#### Step Definition: | ||
|
||
This step checks if a specific value exists in Redis under the specified key. If the value is missing or does not match, the step will throw an error. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
When I see in redis value "testValue" by key "testKey" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
## Redis Database Cleanup | ||
|
||
### Before Each Scenario | ||
|
||
The Redis database is automatically flushed before each scenario using the `@BeforeScenario` hook. This ensures that each scenario starts with a clean database, preventing test pollution from previous scenarios. | ||
|
||
#### Example Usage: | ||
|
||
There is no specific Gherkin step required; this happens automatically before each test scenario. | ||
|
||
### After Each Feature | ||
|
||
After all scenarios in a feature are completed, the system performs garbage collection to free up memory. | ||
|
||
#### Example Usage: | ||
|
||
There is no specific Gherkin step required; this happens automatically after the last test in a feature. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
### Save a Serialized Value to Redis | ||
|
||
#### Step Definition: | ||
|
||
This step serializes a value and saves it in Redis under the given key. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
When I save serialized value "testSerializedValue" to redis by "serializedKey" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
### Save a String Value to Redis | ||
|
||
#### Step Definition: | ||
|
||
This step saves a string value in Redis with a specified key. | ||
|
||
#### Gherkin Example: | ||
|
||
```gherkin | ||
When I save string value "testValue" to redis by "testKey" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
Installation | ||
============ | ||
|
||
Step 1: Download the Bundle | ||
---------------------------------- | ||
Open a command console, enter your project directory and execute: | ||
|
||
### Applications that use Symfony Flex [in progress](https://github.com/MacPaw/BehatRedisContext/issues/2) | ||
|
||
```console | ||
$ composer require --dev macpaw/behat-redis-context | ||
``` | ||
|
||
### Applications that don't use Symfony Flex | ||
|
||
Open a command console, enter your project directory and execute the | ||
following command to download the latest stable version of this bundle: | ||
|
||
```console | ||
$ composer require --dev macpaw/behat-redis-context | ||
``` | ||
|
||
This command requires you to have Composer installed globally, as explained | ||
in the [installation chapter](https://getcomposer.org/doc/00-intro.md) | ||
of the Composer documentation. | ||
|
||
|
||
Then, enable the bundle by adding it to the list of registered bundles | ||
in the `app/AppKernel.php` file of your project: | ||
|
||
```php | ||
<?php | ||
// app/AppKernel.php | ||
|
||
// ... | ||
class AppKernel extends Kernel | ||
{ | ||
public function registerBundles() | ||
{ | ||
$bundles = array( | ||
// ... | ||
BehatRedisContextBundle\BehatRedisContextBundle::class => ['test' => true], | ||
); | ||
|
||
// ... | ||
} | ||
|
||
// ... | ||
} | ||
``` | ||
|
||
Create configuration for behat redis context: | ||
|
||
`config/packages/test/behat_redis_context.yaml ` | ||
```yaml | ||
behat_redis_context: | ||
dataFixturesPath: "" | ||
``` | ||
Step 2: Change path to directory with your fixtures | ||
---------------------------------- | ||
`config/packages/test/behat_redis_context.yaml ` | ||
```yaml | ||
behat_redis_context: | ||
dataFixturesPath: "your path" | ||
``` | ||
|
||
Step 3: Change path to directory with your fixtures | ||
---------------------------------- | ||
`config/services_test.yaml` | ||
```yaml | ||
Predis\ClientInterface: 'Your Redis Client' | ||
``` | ||
|
||
Example if you use [Symfony Redis Bundle](https://github.com/symfony-bundles/redis-bundle): | ||
```yaml | ||
Predis\ClientInterface: '@SymfonyBundles\RedisBundle\Redis\ClientInterface' | ||
``` | ||
|
||
Step 4: Configure Behat | ||
============= | ||
Go to `behat.yml` | ||
|
||
```yaml | ||
... | ||
contexts: | ||
- BehatRedisContext\Context\RedisContext | ||
- BehatRedisContext\Context\RedisFixturesContext | ||
... | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters