@@ -84,11 +84,12 @@ [SetUp] public void Connect()
84
84
{
85
85
Connection = new ConnectionFactory ( ) . CreateConnection ( ) ;
86
86
Channel = Connection . CreateModel ( ) ;
87
- Queue = Channel . QueueDeclare ( ) ;
87
+ Queue = Channel . QueueDeclare ( "recover_test" ) ;
88
88
}
89
89
90
90
[ TearDown ] public void Disconnect ( )
91
91
{
92
+ Channel . QueueDelete ( Queue , false , false , false ) ;
92
93
Connection . Abort ( ) ;
93
94
}
94
95
@@ -98,18 +99,15 @@ public void TestRecoverAfterCancel_()
98
99
UTF8Encoding enc = new UTF8Encoding ( ) ;
99
100
Channel . BasicPublish ( "" , Queue , null , enc . GetBytes ( "message" ) ) ;
100
101
QueueingBasicConsumer Consumer = new QueueingBasicConsumer ( Channel ) ;
101
- QueueingBasicConsumer DefaultConsumer = new QueueingBasicConsumer ( Channel ) ;
102
- Channel . DefaultConsumer = DefaultConsumer ;
102
+
103
103
String CTag = Channel . BasicConsume ( Queue , null , Consumer ) ;
104
104
BasicDeliverEventArgs Event = ( BasicDeliverEventArgs ) Consumer . Queue . Dequeue ( ) ;
105
105
Channel . BasicCancel ( CTag ) ;
106
- Channel . BasicRecover ( false ) ;
107
-
108
- // The server will now redeliver us the first message again, with the
109
- // same ctag, but we're not set up to handle it with a standard
110
- // consumer - it should end up with the default one.
106
+ Channel . BasicRecover ( true ) ;
111
107
112
- BasicDeliverEventArgs Event2 = ( BasicDeliverEventArgs ) DefaultConsumer . Queue . Dequeue ( ) ;
108
+ QueueingBasicConsumer Consumer2 = new QueueingBasicConsumer ( Channel ) ;
109
+ Channel . BasicConsume ( Queue , null , Consumer2 ) ;
110
+ BasicDeliverEventArgs Event2 = ( BasicDeliverEventArgs ) Consumer2 . Queue . Dequeue ( ) ;
113
111
114
112
Assert . AreEqual ( Event . Body , Event2 . Body ) ;
115
113
Assert . IsFalse ( Event . Redelivered ) ;
@@ -121,7 +119,7 @@ public void TestRecoverCallback()
121
119
{
122
120
int callbackCount = 0 ;
123
121
Channel . BasicRecoverOk += ( sender , eventArgs ) => callbackCount ++ ;
124
- Channel . BasicRecover ( false ) ;
122
+ Channel . BasicRecover ( true ) ;
125
123
Assert . AreEqual ( 1 , callbackCount ) ;
126
124
}
127
125
0 commit comments