You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgraded PHPStan to version 2.1 to resolve a static analysis issue with outdated MongoDB stubs.
This upgrade introduced stricter type checks, which revealed a redundant PHPDoc in `MongoTransport.php`. The PHPDoc has been removed.
Also includes minor code style improvements in tests and updates to the Docker environment to match the current development setup.
This project is a Symfony Bundle that provides a MongoDB transport for the Symfony Messenger component. It allows developers to use MongoDB as a message queue for their Symfony applications. This is particularly useful when an application already uses MongoDB and wants to avoid adding another dependency for a message queue.
4
+
5
+
The core of the bundle is the `MongoTransport` class, which implements the Symfony `TransportInterface`. This class handles the sending, receiving, acknowledging, and rejecting of messages using a MongoDB collection.
6
+
7
+
The project uses Composer for dependency management, PHPUnit for testing, Infection for mutation testing, and PHPStan for static analysis.
8
+
9
+
# Building and Running
10
+
11
+
## Dependencies
12
+
13
+
Install dependencies using Composer:
14
+
15
+
```bash
16
+
composer install
17
+
```
18
+
19
+
## Running Tests
20
+
21
+
Run the test suite using PHPUnit:
22
+
23
+
```bash
24
+
vendor/bin/phpunit
25
+
```
26
+
27
+
## Static Analysis
28
+
29
+
Run PHPStan for static analysis:
30
+
31
+
```bash
32
+
vendor/bin/phpstan analyse src tests
33
+
```
34
+
35
+
## Mutation Testing
36
+
37
+
Run Infection for mutation testing:
38
+
39
+
```bash
40
+
vendor/bin/infection
41
+
```
42
+
43
+
# Development Conventions
44
+
45
+
## Coding Style
46
+
47
+
The project follows the PSR-12 coding style guide.
48
+
49
+
## Testing
50
+
51
+
The project has a comprehensive test suite using PHPUnit. Tests are located in the `tests` directory and are separated into unit and integration tests.
52
+
53
+
## Contribution
54
+
55
+
Contributions are welcome. Please open an issue or create a pull request on the [GitHub repository](https://github.com/eMAGTechLabs/messenger-mongo-bundle).
0 commit comments