From 211a881be7bcf7b86f1c96dfa644ef47b68db9ad Mon Sep 17 00:00:00 2001 From: cqnguy23 <44353219+cqnguy23@users.noreply.github.com> Date: Fri, 28 Feb 2025 11:22:21 +0700 Subject: [PATCH] Release Azure.Messaging.WebPubSub (#48461) * release webpubsub and refactor test * change release date * resolve package version conflict * suppress sample build warning * upgrade samples project dependency --- .../Azure.Messaging.WebPubSub/CHANGELOG.md | 8 +------- .../src/Azure.Messaging.WebPubSub.csproj | 2 +- .../tests/WebPubSubGenerateUriTests.cs | 16 ++++++++++++++-- .../SampleDev-JavaScript/extensions.csproj | 4 ++-- ....Extensions.WebPubSubForSocketIO.Tests.csproj | 3 ++- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/sdk/webpubsub/Azure.Messaging.WebPubSub/CHANGELOG.md b/sdk/webpubsub/Azure.Messaging.WebPubSub/CHANGELOG.md index 35296451bdb9..56d073b295de 100644 --- a/sdk/webpubsub/Azure.Messaging.WebPubSub/CHANGELOG.md +++ b/sdk/webpubsub/Azure.Messaging.WebPubSub/CHANGELOG.md @@ -1,16 +1,10 @@ # Release History -## 1.5.0-beta.1 (Unreleased) +## 1.5.0 (2025-02-27) ### Features Added - Added support for SocketIO when generating ClientAccessURI -### Breaking Changes - -### Bugs Fixed - -### Other Changes - ## 1.4.0 (2024-07-31) ### Features Added diff --git a/sdk/webpubsub/Azure.Messaging.WebPubSub/src/Azure.Messaging.WebPubSub.csproj b/sdk/webpubsub/Azure.Messaging.WebPubSub/src/Azure.Messaging.WebPubSub.csproj index e8918ce1903c..a72776c14e99 100644 --- a/sdk/webpubsub/Azure.Messaging.WebPubSub/src/Azure.Messaging.WebPubSub.csproj +++ b/sdk/webpubsub/Azure.Messaging.WebPubSub/src/Azure.Messaging.WebPubSub.csproj @@ -2,7 +2,7 @@ Azure SDK client library for the WebPubSub service Azure SDK for WebPubSub - 1.5.0-beta.1 + 1.5.0 1.4.0 Azure, WebPubSub, SignalR diff --git a/sdk/webpubsub/Azure.Messaging.WebPubSub/tests/WebPubSubGenerateUriTests.cs b/sdk/webpubsub/Azure.Messaging.WebPubSub/tests/WebPubSubGenerateUriTests.cs index 940b57f59b71..010b617209c8 100644 --- a/sdk/webpubsub/Azure.Messaging.WebPubSub/tests/WebPubSubGenerateUriTests.cs +++ b/sdk/webpubsub/Azure.Messaging.WebPubSub/tests/WebPubSubGenerateUriTests.cs @@ -30,10 +30,22 @@ public async Task GetClientAccessUri_AccessKey_Test(WebPubSubClientProtocol clie var serviceClient = new WebPubSubServiceClient(string.Format("Endpoint=http://localhost;Port=8080;AccessKey={0};Version=1.0;", FakeAccessKey), "hub"); var expectedUriPrefix = $"ws://localhost:8080{clientUriPrefix}/hubs/hub?access_token="; // Synchronize - Assert.True(serviceClient.GetClientAccessUri(TimeSpan.FromMinutes(1), default, default, default, clientType, default).ToString().StartsWith(expectedUriPrefix)); + Uri sUri = serviceClient.GetClientAccessUri(TimeSpan.FromMinutes(1), default, default, default, clientType, default); + var token = HttpUtility.ParseQueryString(sUri.Query).Get("access_token"); + Assert.NotNull(token); + JwtSecurityToken jwt = s_jwtTokenHandler.ReadJwtToken(token); + var aud = jwt.Claims.FirstOrDefault(s => s.Type == "aud")?.Value; + Assert.AreEqual($"http://localhost:8080{clientUriPrefix}/hubs/hub", aud); + Assert.True(sUri.ToString().StartsWith(expectedUriPrefix)); Assert.True(serviceClient.GetClientAccessUri(DateTimeOffset.UtcNow.AddMinutes(1), default, default, default, clientType, default).ToString().StartsWith(expectedUriPrefix)); // Asynchronize - Assert.True((await serviceClient.GetClientAccessUriAsync(TimeSpan.FromMinutes(1), default, default, default, clientType, default)).ToString().StartsWith(expectedUriPrefix)); + Uri asyncUri = await serviceClient.GetClientAccessUriAsync(TimeSpan.FromMinutes(1), default, default, default, clientType, default); + var asyncToken = HttpUtility.ParseQueryString(asyncUri.Query).Get("access_token"); + Assert.NotNull(asyncToken); + JwtSecurityToken asyncJwt = s_jwtTokenHandler.ReadJwtToken(asyncToken); + var asyncAud = asyncJwt.Claims.FirstOrDefault(s => s.Type == "aud")?.Value; + Assert.AreEqual($"http://localhost:8080{clientUriPrefix}/hubs/hub", asyncAud); + Assert.True(asyncUri.ToString().StartsWith(expectedUriPrefix)); Assert.True((await serviceClient.GetClientAccessUriAsync(DateTimeOffset.Now, default, default, default, clientType, default)).ToString().StartsWith(expectedUriPrefix)); } diff --git a/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/samples/SampleDev-JavaScript/extensions.csproj b/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/samples/SampleDev-JavaScript/extensions.csproj index 99db5407077d..e23d3f0cf682 100644 --- a/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/samples/SampleDev-JavaScript/extensions.csproj +++ b/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/samples/SampleDev-JavaScript/extensions.csproj @@ -1,12 +1,12 @@ - netcoreapp3.1 + net6.0 true ** - + diff --git a/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/tests/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO.Tests.csproj b/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/tests/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO.Tests.csproj index 8c2e266f6b56..e93c09d698d7 100644 --- a/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/tests/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO.Tests.csproj +++ b/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO/tests/Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO.Tests.csproj @@ -21,7 +21,8 @@ - + +