public void RecordingSessionSanitizeTextBody(string jsonPath, string body, string expected) { var sanitizer = new RecordedTestSanitizer(); sanitizer.JsonPathSanitizers.Add(jsonPath); string response = sanitizer.SanitizeTextBody(default, body);
public EventGridLiveTestBase(bool isAsync) : base(isAsync /*, RecordedTestMode.Record*/) { Sanitizer = new RecordedTestSanitizer(); Sanitizer.SanitizedHeaders.Add(Constants.SasKeyName); Sanitizer.SanitizedHeaders.Add(Constants.SasTokenName); Sanitizer.JsonPathSanitizers.Add("$..traceparent"); }
public void AddSanitizerToRecording(string recordingId, RecordedTestSanitizer sanitizer) { if (PlaybackSessions.TryGetValue(recordingId, out var playbackSession)) { lock (playbackSession) { playbackSession.AdditionalSanitizers.Add(sanitizer); } } if (RecordingSessions.TryGetValue(recordingId, out var recordingSession)) { lock (recordingSession) { recordingSession.AdditionalSanitizers.Add(sanitizer); } } if (InMemorySessions.TryGetValue(recordingId, out var inMemSession)) { lock (inMemSession) { inMemSession.AdditionalSanitizers.Add(sanitizer); } } if (inMemSession == null && recordingSession == null && playbackSession == null) { throw new HttpException(HttpStatusCode.BadRequest, $"{recordingId} is not an active session for either record or playback. Check the value being passed and try again."); } }
public async Task AddSanitizer() { await DebugLogger.LogRequestDetailsAsync(_logger, Request); var sName = RecordingHandler.GetHeader(Request, "x-abstraction-identifier"); var recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", allowNulls: true); RecordedTestSanitizer s = (RecordedTestSanitizer)GetSanitizer(sName, await HttpRequestInteractions.GetBody(Request)); if (recordingId != null) { _recordingHandler.AddSanitizerToRecording(recordingId, s); } else { _recordingHandler.Sanitizers.Add(s); } }
/// <summary> /// Creates a new StorageRecordMatcher to determine whether recordings /// have been meaningfully updated. /// </summary> /// <param name="sanitizer">The test record sanitizer.</param> public StorageRecordMatcher(RecordedTestSanitizer sanitizer) : base(sanitizer) { // Storage specific request headers to ignore VolatileHeaders.Add("x-ms-source-if-match"); VolatileHeaders.Add("x-ms-source-if-none-match"); VolatileHeaders.Add("x-ms-source-if-modified-since"); VolatileHeaders.Add("x-ms-source-if-unmodified-since"); VolatileHeaders.Add("x-ms-copy-source"); // Storage specific response headers to ignore VolatileResponseHeaders.Add("Server"); VolatileResponseHeaders.Add("x-ms-snapshot"); VolatileResponseHeaders.Add("x-ms-copy-id"); VolatileResponseHeaders.Add("x-ms-creation-time"); VolatileResponseHeaders.Add("x-ms-copy-completion-time"); VolatileResponseHeaders.Add("x-ms-copy-destination-snapshot"); VolatileResponseHeaders.Add("x-ms-copy-source"); VolatileResponseHeaders.Add("Set-Cookie"); VolatileResponseHeaders.Add("Referrer-Policy"); }
public ConfigurationRecordMatcher(RecordedTestSanitizer sanitizer) : base(sanitizer) { VolatileResponseHeaders.Add("Sync-Token"); }
public TablesRecordMatcher(RecordedTestSanitizer sanitizer) : base(sanitizer) { ExcludeHeaders.Add("Content-Type"); }