public void RemoveHeaderSanitizerRemovesSingleHeader() { var session = TestHelpers.LoadRecordSession("Test.RecordEntries/post_delete_get_content.json"); var targetEntry = session.Session.Entries[0]; var headerForRemoval = "DataServiceVersion"; var removeHeaderSanitizer = new RemoveHeaderSanitizer(headersForRemoval: headerForRemoval); session.Session.Sanitize(removeHeaderSanitizer); Assert.False(targetEntry.Request.Headers.ContainsKey(headerForRemoval)); }
public void RemoveHeaderSanitizerQuietlyExits() { var session = TestHelpers.LoadRecordSession("Test.RecordEntries/post_delete_get_content.json"); var targetEntry = session.Session.Entries[0]; var requestHeaderCountBefore = targetEntry.Request.Headers.Count; var removeHeaderSanitizer = new RemoveHeaderSanitizer(headersForRemoval: "fakeaccount"); session.Session.Sanitize(removeHeaderSanitizer); Assert.Equal(requestHeaderCountBefore, targetEntry.Request.Headers.Count); }
public void ConditionalSanitizeUriRegexProperlySkips() { var session = TestHelpers.LoadRecordSession("Test.RecordEntries/response_with_xml_body.json"); var targetHeader = "x-ms-version"; var removeHeadersSanitizer = new RemoveHeaderSanitizer(targetHeader, condition: new ApplyCondition() { UriRegex = @".+/token" }); session.Session.Sanitize(removeHeadersSanitizer); Assert.DoesNotContain <bool>(false, session.Session.Entries.Select(x => x.Request.Headers.ContainsKey(targetHeader))); }
public void RemoveHeaderSanitizerRemovesMultipleHeaders() { var session = TestHelpers.LoadRecordSession("Test.RecordEntries/post_delete_get_content.json"); var targetEntry = session.Session.Entries[0]; var headerForRemoval = "DataServiceVersion, Date,User-Agent"; // please note the wonky spacing is intentional var removeHeaderSanitizer = new RemoveHeaderSanitizer(headersForRemoval: headerForRemoval); session.Session.Sanitize(removeHeaderSanitizer); foreach (var header in headerForRemoval.Split(",").Select(x => x.Trim())) { Assert.False(targetEntry.Request.Headers.ContainsKey(header)); } }
public void ConditionalSanitizeUriRegexAppliesForRegex() { var session = TestHelpers.LoadRecordSession("Test.RecordEntries/response_with_xml_body.json"); var targetHeader = "x-ms-version"; var removeHeadersSanitizer = new RemoveHeaderSanitizer(targetHeader, condition: new ApplyCondition() { UriRegex = @".+/Tables.*" }); session.Session.Sanitize(removeHeadersSanitizer); var firstEntry = session.Session.Entries[0]; // this entry should be untouched by sanitization, it's request URI should not match the regex above var secondEntry = session.Session.Entries[1]; var thirdEntry = session.Session.Entries[2]; Assert.False(firstEntry.Request.Headers.ContainsKey(targetHeader)); Assert.True(secondEntry.Request.Headers.ContainsKey(targetHeader)); Assert.False(thirdEntry.Request.Headers.ContainsKey(targetHeader)); }