-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IModel.BasicAck semantic not respected #180
Comments
Thanks for this issue. I'll try to have a look at it as soon as I have some time. And... by the way, if you feel up to the task, do not hesitate to propose a PR! |
@manuelspezzani I've just published a beta version of the package that attempts to fix your issue (and a few more, all related to non-autoack scenarios). I managed to have your tests pass, but it won't hurt if you can tell me whether this new version is ok for you as well I'll also test it against my own codebase before publishing a final v2.8.0 version to make sure I didn't introduce regressions elsewhere. The beta package is accessible here: https://www.nuget.org/packages/AddUp.FakeRabbitMQ/2.8.0-beta.1 |
@odalet wow that was quick, thanks! The new version seems fine by me. |
Hi, indeed I've been hiding a few implementation details but still left some utility methods for unit testing. That said, I'm not satisifed with how things are working at the moment. For example, nacking a message and asking for it to be requeued does not work and in the current state of the code, I don't know how to handle this. I think the whole thing should be rewritten with less shortcuts and an architecture closer to what a real Rabbit client and server do; that's a huge task though! Anyway, because it's good enough for your scenario, I'll publish soon a final v2.8.0 version |
I've found a couple issues on the way BasicAck is implemented in AddUp.FakeRabbitMQ.
Since they are closely related I'm creating only one issue, but if you prefer I can split in two.
I've created a couple of tests to reproduce both issues.
As far as I can tell by looking at the source code, both issues are caused by the fact that
FakeModel.BasicAck
is implemented as aConcurrentQueue.TryDequeue
.The text was updated successfully, but these errors were encountered: