Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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)));
        }
Пример #4
0
        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));
            }
        }
Пример #5
0
        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));
        }