Skip to content

Commit f2a4df7

Browse files
authored
Flip JsonDateTokens sanitizer condition (Azure#16605)
1 parent f4b3a80 commit f2a4df7

File tree

6 files changed

+18
-10
lines changed

6 files changed

+18
-10
lines changed

sdk/anomalydetector/Azure.AI.AnomalyDetector/tests/Infrastructure/AnomalyDetectorRecordedTestSanitizer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ public AnomalyDetectorRecordedTestSanitizer()
1313
{
1414
JsonPathSanitizers.Add("$..accessToken");
1515
JsonPathSanitizers.Add("$..source");
16+
// TODO: Remove when re-recording
17+
LegacyConvertJsonDateTokens = true;
1618
}
1719

1820
public override void SanitizeHeaders(IDictionary<string, string[]> headers)

sdk/communication/Azure.Communication.Administration/tests/Infrastructure/CommunicationIdentityClientRecordedTestSanitizer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public CommunicationIdentityClientRecordedTestSanitizer(): base()
1717
{
1818
JsonPathSanitizers.Add("$..token");
1919
JsonPathSanitizers.Add("$..id");
20+
// TODO: Remove when re-recording
21+
LegacyConvertJsonDateTokens = true;
2022
}
2123

2224
public override void SanitizeHeaders(IDictionary<string, string[]> headers)

sdk/core/Azure.Core.TestFramework/src/RecordedTestSanitizer.cs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33

4+
using System;
45
using System.Collections.Generic;
56
using System.Globalization;
67
using System.Linq;
@@ -20,10 +21,15 @@ public class RecordedTestSanitizer
2021
// when updating the JsonPathSanitizer logic to avoid changing date formats when deserializing requests.
2122
// this property will be removed in the future.
2223
/// </summary>
23-
public bool DoNotConvertJsonDateTokens { get; set; }
24+
public bool LegacyConvertJsonDateTokens { get; set; }
2425

2526
private static readonly string[] s_sanitizeValueArray = { SanitizeValue };
2627

28+
private static readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
29+
{
30+
DateParseHandling = DateParseHandling.None
31+
};
32+
2733
public List<string> SanitizedHeaders { get; } = new List<string> { "Authorization" };
2834

2935
public virtual string SanitizeUri(string uri)
@@ -48,17 +54,12 @@ public virtual string SanitizeTextBody(string contentType, string body)
4854
return body;
4955
try
5056
{
51-
var settings = new JsonSerializerSettings
52-
{
53-
DateParseHandling = DateParseHandling.None
54-
};
55-
5657
JToken jsonO;
5758
// Prevent default behavior where JSON.NET will convert DateTimeOffset
5859
// into a DateTime.
59-
if (DoNotConvertJsonDateTokens)
60+
if (!LegacyConvertJsonDateTokens)
6061
{
61-
jsonO = JsonConvert.DeserializeObject<JToken>(body, settings);
62+
jsonO = JsonConvert.DeserializeObject<JToken>(body, SerializerSettings);
6263
}
6364
else
6465
{
@@ -72,7 +73,7 @@ public virtual string SanitizeTextBody(string contentType, string body)
7273
token.Replace(JToken.FromObject(SanitizeValue));
7374
}
7475
}
75-
return JsonConvert.SerializeObject(jsonO, settings);
76+
return JsonConvert.SerializeObject(jsonO, SerializerSettings);
7677
}
7778
catch
7879
{

sdk/eventgrid/Azure.Messaging.EventGrid/tests/Infrastructure/EventGridLiveTestBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public EventGridLiveTestBase(bool isAsync) : base(isAsync/*, RecordedTestMode.Re
1313
Sanitizer.SanitizedHeaders.Add(Constants.SasKeyName);
1414
Sanitizer.SanitizedHeaders.Add(Constants.SasTokenName);
1515
Sanitizer.JsonPathSanitizers.Add("$..traceparent");
16-
Sanitizer.DoNotConvertJsonDateTokens = true;
1716
}
1817
}
1918
}

sdk/iot/Azure.Iot.Hub.Service/tests/CustomRequestSanitizer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public CustomRequestSanitizer()
2222
JsonPathSanitizers.Add("inputBlobContainerUri");
2323
JsonPathSanitizers.Add("..primaryKey");
2424
JsonPathSanitizers.Add("..secondaryKey");
25+
// TODO: Remove when re-recording
26+
LegacyConvertJsonDateTokens = true;
2527
}
2628

2729
public override string SanitizeUri(string uri)

sdk/metricsadvisor/Azure.AI.MetricsAdvisor/tests/MetricsAdvisorRecordedTestSanitizer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public MetricsAdvisorRecordedTestSanitizer()
1818
JsonPathSanitizers.Add("$..accountKey");
1919
JsonPathSanitizers.Add("$..authHeader");
2020
JsonPathSanitizers.Add("$..httpHeader");
21+
// TODO: Remove when re-recording
22+
LegacyConvertJsonDateTokens = true;
2123
}
2224

2325
public override string SanitizeTextBody(string contentType, string body)

0 commit comments

Comments
 (0)