Skip to content

Commit 7333475

Browse files
committed
fixup
1 parent 21d3110 commit 7333475

File tree

3 files changed

+27
-22
lines changed

3 files changed

+27
-22
lines changed

projects/RabbitMQ.Client/client/api/ICredentialsRefresher.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,15 @@
3333
using System.Collections.Concurrent;
3434
using System.Diagnostics.CodeAnalysis;
3535
using System.Diagnostics.Tracing;
36+
using System.Threading.Tasks;
3637
namespace RabbitMQ.Client
3738
{
3839
public interface ICredentialsRefresher
3940
{
40-
ICredentialsProvider Register(ICredentialsProvider provider, NotifyCredentialRefreshed callback);
41+
ICredentialsProvider Register(ICredentialsProvider provider, NotifyCredentialRefreshedAsync callback);
4142
bool Unregister(ICredentialsProvider provider);
4243

43-
delegate void NotifyCredentialRefreshed(bool successfully);
44+
delegate Task NotifyCredentialRefreshedAsync(bool successfully);
4445
}
4546

4647
[EventSource(Name = "TimerBasedCredentialRefresher")]
@@ -72,7 +73,7 @@ public class TimerBasedCredentialRefresher : ICredentialsRefresher
7273
{
7374
private readonly ConcurrentDictionary<ICredentialsProvider, System.Timers.Timer> _registrations = new ConcurrentDictionary<ICredentialsProvider, System.Timers.Timer>();
7475

75-
public ICredentialsProvider Register(ICredentialsProvider provider, ICredentialsRefresher.NotifyCredentialRefreshed callback)
76+
public ICredentialsProvider Register(ICredentialsProvider provider, ICredentialsRefresher.NotifyCredentialRefreshedAsync callback)
7677
{
7778
if (!provider.ValidUntil.HasValue || provider.ValidUntil.Value.Equals(TimeSpan.Zero))
7879
{
@@ -112,7 +113,7 @@ public bool Unregister(ICredentialsProvider provider)
112113
}
113114
}
114115

115-
private System.Timers.Timer scheduleTimer(ICredentialsProvider provider, ICredentialsRefresher.NotifyCredentialRefreshed callback)
116+
private System.Timers.Timer scheduleTimer(ICredentialsProvider provider, ICredentialsRefresher.NotifyCredentialRefreshedAsync callback)
116117
{
117118
System.Timers.Timer timer = new System.Timers.Timer();
118119
timer.Interval = provider.ValidUntil.Value.TotalMilliseconds * (1.0 - (1 / 3.0));
@@ -142,7 +143,7 @@ private System.Timers.Timer scheduleTimer(ICredentialsProvider provider, ICreden
142143

143144
class NoOpCredentialsRefresher : ICredentialsRefresher
144145
{
145-
public ICredentialsProvider Register(ICredentialsProvider provider, ICredentialsRefresher.NotifyCredentialRefreshed callback)
146+
public ICredentialsProvider Register(ICredentialsProvider provider, ICredentialsRefresher.NotifyCredentialRefreshedAsync callback)
146147
{
147148
return provider;
148149
}

projects/RabbitMQ.Client/client/impl/AutorecoveringConnection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,11 +200,11 @@ internal Task CloseFrameHandlerAsync()
200200
}
201201

202202
///<summary>API-side invocation of updating the secret.</summary>
203-
public void UpdateSecret(string newSecret, string reason)
203+
public Task UpdateSecretAsync(string newSecret, string reason)
204204
{
205205
ThrowIfDisposed();
206206
EnsureIsOpen();
207-
_innerConnection.UpdateSecret(newSecret, reason);
207+
return _innerConnection.UpdateSecretAsync(newSecret, reason);
208208
}
209209

210210
///<summary>Asynchronous API-side invocation of connection.close with timeout.</summary>

projects/Test/Unit/TestTimerBasedCredentialRefresher.cs

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
//---------------------------------------------------------------------------
3131

3232
using System;
33-
using System.Threading;
33+
using System.Threading.Tasks;
3434
using RabbitMQ.Client;
3535
using Xunit;
3636
using Xunit.Abstractions;
@@ -108,7 +108,7 @@ public TestTimerBasedCredentialsRefresher(ITestOutputHelper testOutputHelper)
108108
[Fact]
109109
public void TestRegister()
110110
{
111-
ICredentialsRefresher.NotifyCredentialRefreshed cb = (bool unused) => { };
111+
Task cb(bool unused) => Task.CompletedTask;
112112
ICredentialsProvider credentialsProvider = new MockCredentialsProvider(_testOutputHelper);
113113

114114
Assert.True(credentialsProvider == _refresher.Register(credentialsProvider, cb));
@@ -119,30 +119,32 @@ public void TestRegister()
119119
public void TestDoNotRegisterWhenHasNoExpiry()
120120
{
121121
ICredentialsProvider credentialsProvider = new MockCredentialsProvider(_testOutputHelper, TimeSpan.Zero);
122-
ICredentialsRefresher.NotifyCredentialRefreshed cb = (bool unused) => { };
122+
Task cb(bool unused) => Task.CompletedTask;
123123

124124
_refresher.Register(credentialsProvider, cb);
125125

126126
Assert.False(_refresher.Unregister(credentialsProvider));
127127
}
128128

129129
[Fact]
130-
public void TestRefreshToken()
130+
public async Task TestRefreshToken()
131131
{
132-
var cbevt = new ManualResetEvent(false);
132+
var cbtcs = new TaskCompletionSource<bool>();
133133
bool? callbackArg = null;
134134
var credentialsProvider = new MockCredentialsProvider(_testOutputHelper, TimeSpan.FromSeconds(1));
135-
ICredentialsRefresher.NotifyCredentialRefreshed cb = (bool arg) =>
135+
Task cb(bool arg)
136136
{
137137
callbackArg = arg;
138-
cbevt.Set();
139-
};
138+
cbtcs.SetResult(true);
139+
return Task.CompletedTask;
140+
}
140141

141142
try
142143
{
143144
_refresher.Register(credentialsProvider, cb);
144145

145-
Assert.True(cbevt.WaitOne());
146+
await cbtcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
147+
Assert.True(await cbtcs.Task);
146148

147149
Assert.True(credentialsProvider.RefreshCalled);
148150
Assert.True(callbackArg);
@@ -154,24 +156,26 @@ public void TestRefreshToken()
154156
}
155157

156158
[Fact]
157-
public void TestRefreshTokenFailed()
159+
public async Task TestRefreshTokenFailed()
158160
{
159-
var cbevt = new ManualResetEvent(false);
161+
var cbtcs = new TaskCompletionSource<bool>();
160162
bool? callbackArg = null;
161163
var credentialsProvider = new MockCredentialsProvider(_testOutputHelper, TimeSpan.FromSeconds(1));
162-
ICredentialsRefresher.NotifyCredentialRefreshed cb = (bool arg) =>
164+
Task cb(bool arg)
163165
{
164166
callbackArg = arg;
165-
cbevt.Set();
166-
};
167+
cbtcs.SetResult(true);
168+
return Task.CompletedTask;
169+
}
167170

168171
var ex = new Exception();
169172
credentialsProvider.PasswordThrows(ex);
170173

171174
try
172175
{
173176
_refresher.Register(credentialsProvider, cb);
174-
Assert.True(cbevt.WaitOne());
177+
await cbtcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
178+
Assert.True(await cbtcs.Task);
175179

176180
Assert.True(credentialsProvider.RefreshCalled);
177181
Assert.False(callbackArg);

0 commit comments

Comments
 (0)