<font face="verdana, sans-serif">Hello,</font><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">I'm writing unit tests for the various components in my application, some of which interface with a RabbitMQ broker.</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">I've managed to successfully implement reading from a mocked call to </font><font face="courier new, monospace">IModel.BasicConsume()</font><font face="verdana, sans-serif"> and acknowledging with&nbsp;</font><font face="courier new, monospace">IModel.BasicAck()</font><span style="font-family: verdana, sans-serif;"> but am stuck on&nbsp;</span><font face="courier new, monospace">IModel.BasicPublish()</font><span style="font-family: verdana, sans-serif;">, in particular mocking the ack/nack mechanism with </span><font face="courier new, monospace">IModel</font><span style="font-family: verdana, sans-serif;">&nbsp;as I need to test my component in both those scenarios.</span></div><div><span style="font-family: verdana, sans-serif;"><br></span></div><div><span style="font-family: verdana, sans-serif;">How does the ack/nack mechanism work with </span><font face="courier new, monospace">IModel.WaitForConfirms()</font><span style="font-family: verdana, sans-serif;">&nbsp;and how would I go about sending an ack/nack when the publisher calls&nbsp;</span><span style="font-family: 'courier new', monospace;">IModel.BasicPublish()</span><font face="verdana, sans-serif">?</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">I'm using NSubstitute as my mocking library but I imagine the solution is&nbsp;translatable&nbsp;across mocking frameworks.</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Thanks,</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Mark</font></div>