jorge07 / symfony-6-es-cqrs-boilerplate

Symfony 6 DDD ES CQRS backend boilerplate.
MIT License
1.07k stars 187 forks source link

Symfony messenger implementation #132

Closed cv65kr closed 4 years ago

cv65kr commented 4 years ago

This PR contains:

cv65kr commented 4 years ago

@jorge07 Did You know how resolve problem with tests?

jorge07 commented 4 years ago

Hi @cv65kr here the issue:

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.

It's travis. I'm going to move to github actions asap.

BTW thanks for the contribution looks great

cv65kr commented 4 years ago

@jorge07

I fixed docker issue yesterday, but there is a problem about tests which I describe in PR description.

If You look at App\Tests\Application\ApplicationTestCase we inject:

        $this->commandBus = $this->service('messenger.bus.command');
        $this->queryBus = $this->service('messenger.bus.query');

That's service are aliases for message buses, but this generate exceptions like below.

12) App\Tests\UI\Http\Rest\Controller\Events\GetEventsControllerTest::given_invalid_limit_returns_400_status
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: The "messenger.bus.command" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead.

Did You have any idea how resolve this problem?

jorge07 commented 4 years ago

hey @cv65kr just migrated to github actions as are way faster. Can you rebase please?

jorge07 commented 4 years ago

I think you need to define this services as public in the services_test.yaml

cv65kr commented 4 years ago

Rebased.

I think you need to define this services as public in the services_test.yaml

I tried this but not working.

jorge07 commented 4 years ago

Awesome work here @cv65kr. Tests are failing due to depreciation but feel free to edit phpunit config to avoid this depreciations for now. We can address it in another PR along with the symfony 5 migration

jorge07 commented 4 years ago

One last question that I've regarding this symfony messenger switch is if we still need sncrabbitmq

cv65kr commented 4 years ago

One last question that I've regarding this symfony messenger switch is if we still need sncrabbitmq

For now yes, currently is related with Broadway stuff.

Green light from GA 👍

jorge07 commented 4 years ago

LGTM

Will do a full qa this night and if all goes well will finally merge.

Once again. @cv65kr thanks for the great work here.

Once merged I'll raise some issues to remove snc redis and have a bridge from Broadway to messenger, and another issue to start the v5 migration (may I rename the repository 😂)

jorge07 commented 4 years ago

@cv65kr thanks you so much for the great work on this. I did a QA locally and all runs perfectly. @Lutacon thanks for your review!