Skip to content

Commit a259485

Browse files
authored
Use Rooms connection string for tests (Azure#32564)
1 parent 5d3604d commit a259485

25 files changed

+1807
-1792
lines changed

sdk/communication/Azure.Communication.Rooms/tests/RoomsClientLiveTestBase.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,28 @@ namespace Azure.Communication.Rooms.Tests
1717
public class RoomsClientLiveTestBase : RecordedTestBase<RoomsClientTestEnvironment>
1818
{
1919
private const string DateTimeStampRegEx = @"[0-9]*-[0-9]*-[0-9]*T[0-9]*:[0-9]*:[0-9]*.[0-9]*Z";
20+
private const string URIDomainNameReplacerRegEx = @"https://([^/?]+)";
21+
private const string URIIdentityReplacerRegEx = @"/identities/([^/?]+)";
22+
private const string URIRoomsIdReplacerRegEx = @"/rooms/\d*";
23+
private const string RequestBodyIdReplacerRegex = @"8:acs:[a-zA-Z0-9-_]*";
24+
2025
public RoomsClientLiveTestBase(bool isAsync) : base(isAsync)
2126
{
2227
SanitizedHeaders.Add("x-ms-content-sha256");
2328
IgnoredHeaders.Add("Repeatability-Request-ID");
2429
IgnoredHeaders.Add("Repeatability-First-Sent");
30+
JsonPathSanitizers.Add("$..token");
31+
JsonPathSanitizers.Add("$..appId");
32+
JsonPathSanitizers.Add("$..userId");
2533
BodyRegexSanitizers.Add(new BodyRegexSanitizer(DateTimeStampRegEx, SanitizeValue));
34+
BodyRegexSanitizers.Add(new BodyRegexSanitizer(RequestBodyIdReplacerRegex, SanitizeValue));
35+
UriRegexSanitizers.Add(new UriRegexSanitizer(URIIdentityReplacerRegEx, "/identities/Sanitized"));
36+
UriRegexSanitizers.Add(new UriRegexSanitizer(URIDomainNameReplacerRegEx, "https://sanitized.communication.azure.com"));
37+
UriRegexSanitizers.Add(new UriRegexSanitizer(URIRoomsIdReplacerRegEx, "/rooms/Sanitized"));
2638
}
2739
protected RoomsClient CreateInstrumentedRoomsClient(ServiceVersion version)
2840
{
29-
var connectionString = TestEnvironment.LiveTestDynamicConnectionString;
41+
var connectionString = TestEnvironment.CommunicationConnectionStringRooms;
3042
RoomsClient client = new RoomsClient(connectionString, CreateRoomsClientOptionsWithCorrelationVectorLogs(version));
3143

3244
#region Snippet:Azure_Communication_Rooms_Tests_Samples_CreateRoomsClient
@@ -45,7 +57,7 @@ protected RoomsClient CreateInstrumentedRoomsClient(ServiceVersion version)
4557
protected CommunicationIdentityClient CreateInstrumentedCommunicationIdentityClient()
4658
=> InstrumentClient(
4759
new CommunicationIdentityClient(
48-
TestEnvironment.LiveTestDynamicConnectionString,
60+
TestEnvironment.CommunicationConnectionStringRooms,
4961
InstrumentClientOptions(new CommunicationIdentityClientOptions(CommunicationIdentityClientOptions.ServiceVersion.V2021_03_07))));
5062

5163
private RoomsClientOptions CreateRoomsClientOptionsWithCorrelationVectorLogs(ServiceVersion version)

sdk/communication/Azure.Communication.Rooms/tests/RoomsClientLiveTests.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,14 @@ public async Task AcsRoomRequestLiveTest()
118118
Assert.IsTrue(getRoomParticipantsResult.Any(x => x.Role == RoleType.Attendee), "Expected GetRoom to contain role2");
119119

120120
// Update Room
121-
List<RoomParticipant> updateRoomParticipants = new List<RoomParticipant>();
122-
RoomParticipant participant3 = new RoomParticipant(new CommunicationUserIdentifier(communicationUser3), RoleType.Presenter);
123-
updateRoomParticipants.Add(participant3);
121+
validFrom = validFrom.AddHours(1);
124122

125-
Response<CommunicationRoom> updateRoomResponse = await roomsClient.UpdateRoomAsync(createdRoomId, validFrom, validUntil, RoomJoinPolicy.InviteOnly, updateRoomParticipants);
123+
Response<CommunicationRoom> updateRoomResponse = await roomsClient.UpdateRoomAsync(createdRoomId, validFrom, validUntil, roomJoinPolicy:RoomJoinPolicy.CommunicationServiceUsers);
126124
CommunicationRoom updateCommunicationRoom = updateRoomResponse.Value;
127125
List<RoomParticipant> updateRoomParticipantsResult = updateCommunicationRoom.Participants.ToList();
128126
Assert.AreEqual(createdRoomId, updateCommunicationRoom.Id);
129-
Assert.AreEqual(1, updateRoomParticipantsResult.Count, "Expected UpdateRoom participants count to be 1");
130-
Assert.IsTrue(updateRoomParticipantsResult.Any(x => x.CommunicationIdentifier.Equals(participant3.CommunicationIdentifier)), "Expected UpdateRoom to contain user3");
131-
Assert.IsFalse(updateRoomParticipantsResult.Any(x => x.CommunicationIdentifier.Equals(participant1.CommunicationIdentifier)), "Expected UpdateRoom to not contain user1");
132-
Assert.IsFalse(updateRoomParticipantsResult.Any(x => x.CommunicationIdentifier.Equals(participant2.CommunicationIdentifier)), "Expected UpdateRoom to not contain user2");
133-
Assert.AreEqual(updateCommunicationRoom.ValidUntil, updateCommunicationRoom.ValidUntil);
127+
Assert.AreEqual(2, updateRoomParticipantsResult.Count, "Expected UpdateRoom participants count to be 2");
128+
Assert.AreEqual(RoomJoinPolicy.CommunicationServiceUsers , updateCommunicationRoom.RoomJoinPolicy, "Expected RoomJoinPolicy to be updated");
134129

135130
// Delete Room
136131
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(createdRoomId);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33

4+
using System;
45
using Azure.Communication.Tests;
6+
using Azure.Core.TestFramework;
57

68
namespace Azure.Communication.Rooms.Tests
79
{
810
public class RoomsClientTestEnvironment : CommunicationTestEnvironment
911
{
12+
public const string CommunicationConnectionStringRoomsVariableName = "COMMUNICATION_CONNECTION_STRING_ROOMS";
13+
public string CommunicationConnectionStringRooms => GetRecordedVariable(
14+
CommunicationConnectionStringRoomsVariableName,
15+
options => options.HasSecretConnectionStringParameter("accessKey", SanitizedValue.Base64));
16+
17+
public Uri CommunicationRoomsEndpoint => new(Core.ConnectionString.Parse(CommunicationConnectionStringRooms).GetRequired("endpoint"));
18+
19+
public string CommunicationRoomsAccessKey => Core.ConnectionString.Parse(CommunicationConnectionStringRooms).GetRequired("accesskey");
1020
}
1121
}

0 commit comments

Comments
 (0)