예제 #1
0
        public void HeaderStringSanitizerQuietlyExits(string targetKey, string targetValue, string replacementValue, string recordingFile)
        {
            var session              = TestHelpers.LoadRecordSession(recordingFile);
            var untouchedSession     = TestHelpers.LoadRecordSession(recordingFile);
            var targetUntouchedEntry = untouchedSession.Session.Entries[0];
            var targetEntry          = session.Session.Entries[0];
            var matcher              = new RecordMatcher();

            var sanitizer = new HeaderStringSanitizer(targetKey, targetValue, value: replacementValue);

            session.Session.Sanitize(sanitizer);

            Assert.Equal(0, matcher.CompareHeaderDictionaries(targetUntouchedEntry.Request.Headers, targetEntry.Request.Headers, new HashSet <string>(), new HashSet <string>()));
            Assert.Equal(0, matcher.CompareHeaderDictionaries(targetUntouchedEntry.Response.Headers, targetEntry.Response.Headers, new HashSet <string>(), new HashSet <string>()));
        }
예제 #2
0
        public void HeaderStringSanitizerApplies(string targetKey, string targetValue, string replacementValue, string recordingFile)
        {
            var session             = TestHelpers.LoadRecordSession(recordingFile);
            var targetEntry         = session.Session.Entries[0];
            var originalHeaderValue = targetEntry.Request.Headers[targetKey].First().ToString();

            var sanitizer = new HeaderStringSanitizer(targetKey, targetValue, value: replacementValue);

            session.Session.Sanitize(sanitizer);

            var resultHeaderValue = targetEntry.Request.Headers[targetKey].First().ToString();

            Assert.NotEqual(resultHeaderValue, originalHeaderValue);
            Assert.Contains(replacementValue, resultHeaderValue);
            Assert.DoesNotContain(targetValue, resultHeaderValue);
        }