Skip to content

Commit 3c1ab94

Browse files
authored
Update Azure.Messaging.ServiceBus, add TokenCredential option (#26)
* Update to AMSB 7.19, add TokenCredential to options * Add credential readme, UseDefaultAzureCredential option for tests * fix TokenCredential readme
1 parent 7ef1ab6 commit 3c1ab94

9 files changed

Lines changed: 15 additions & 6 deletions

readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ sqlStorage.UseServiceBusQueues(connectionString, configureAction, "critical", "d
123123
sqlStorage.UseServiceBusQueues(new ServiceBusQueueOptions
124124
{
125125
ConnectionString = connectionString,
126+
127+
Credential = new DefaultAzureCredential() // any Azure.Identity.TokenCredential
126128
127129
Configure = configureAction,
128130

src/HangFire.Azure.ServiceBusQueue/HangFire.Azure.ServiceBusQueue.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<Reference Include="System.Transactions" />
1818
</ItemGroup>
1919
<ItemGroup>
20-
<PackageReference Include="Azure.Messaging.ServiceBus" Version="7.3.0" />
20+
<PackageReference Include="Azure.Messaging.ServiceBus" Version="7.19.0" />
2121
<PackageReference Include="Hangfire.Core" Version="1.7.0" />
2222
<PackageReference Include="Hangfire.SqlServer" Version="1.7.0" />
2323
</ItemGroup>

src/HangFire.Azure.ServiceBusQueue/ServiceBusManager.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ public ServiceBusManager(ServiceBusQueueOptions options)
2525

2626
_senders = new Dictionary<string, ServiceBusSender>(options.Queues.Length);
2727
_receivers = new Dictionary<string, ServiceBusReceiver>(options.Queues.Length);
28-
_managementClient = new ServiceBusClient(options.ConnectionString);
29-
_managementAdminClient = new ServiceBusAdministrationClient(options.ConnectionString);
28+
_managementClient = options.Credential != null ? new ServiceBusClient(options.ConnectionString, options.Credential) : new ServiceBusClient(options.ConnectionString);
29+
_managementAdminClient = options.Credential != null ? new ServiceBusAdministrationClient(options.ConnectionString, options.Credential) : new ServiceBusAdministrationClient(options.ConnectionString);
3030

3131
if (options.CheckAndCreateQueues)
3232
{

src/HangFire.Azure.ServiceBusQueue/ServiceBusQueueOptions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using Azure.Core;
23

34
namespace Hangfire.Azure.ServiceBusQueue
45
{
@@ -57,6 +58,8 @@ public TimeSpan QueuePollInterval
5758

5859
public string ConnectionString { get; set; }
5960

61+
public TokenCredential Credential { get; set; }
62+
6063
public string[] Queues { get; set; }
6164

6265
/// <summary>

tests/HangFire.Azure.ServiceBusQueue.Tests/HangFire.Azure.ServiceBusQueue.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<Copyright>Copyright © Hangfire.Azure.ServiceBusQueue authors 2017</Copyright>
77
</PropertyGroup>
88
<ItemGroup>
9+
<PackageReference Include="Azure.Identity" Version="1.13.2" />
910
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.0" />
1011
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
1112
<PackageReference Include="NUnit" Version="3.13.1" />

tests/HangFire.Azure.ServiceBusQueue.Tests/ServiceBusQueueJobQueueFacts.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void SetUpQueue()
2727
[TearDown]
2828
public async Task DeleteQueues()
2929
{
30-
var manager = new ServiceBusAdministrationClient(options.ConnectionString);
30+
var manager = options.Credential != null ? new ServiceBusAdministrationClient(options.ConnectionString, options.Credential) : new ServiceBusAdministrationClient(options.ConnectionString);
3131

3232
foreach (var queueName in options.Queues)
3333
{

tests/HangFire.Azure.ServiceBusQueue.Tests/ServiceBusQueueMonitoringApiFacts.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void SetUpQueue()
2929
[TearDown]
3030
public async Task DeleteQueues()
3131
{
32-
var manager = new ServiceBusAdministrationClient(options.ConnectionString);
32+
var manager = options.Credential != null ? new ServiceBusAdministrationClient(options.ConnectionString, options.Credential) : new ServiceBusAdministrationClient(options.ConnectionString);
3333

3434
foreach (var currentQueue in options.Queues)
3535
{

tests/HangFire.Azure.ServiceBusQueue.Tests/TestServiceBusQueueOptions.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.IO;
33
using Hangfire.Azure.ServiceBusQueue;
44
using Microsoft.Extensions.Configuration;
5+
using Azure.Identity;
56

67
namespace HangFire.Azure.ServiceBusQueue.Tests
78
{
@@ -15,6 +16,7 @@ public TestServiceBusQueueOptions()
1516

1617
CheckAndCreateQueues = true;
1718
ConnectionString = configBuilder["BusConnectionString"];
19+
Credential = configBuilder["UseDefaultAzureCredential"] == "true" ? new DefaultAzureCredential() : null;
1820
QueuePrefix = "hf-sb-tests-";
1921
Queues = new[] { "test1", "test2", "test3" };
2022
QueuePollInterval = TimeSpan.Zero;
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"BusConnectionString": ""
2+
"BusConnectionString": "",
3+
"UseDefaultAzureCredential": "false"
34
}

0 commit comments

Comments
 (0)