Example #1
0
        public TestRecording(RecordedTestMode mode, string sessionFile, RecordedTestSanitizer sanitizer, RecordMatcher matcher)
        {
            Mode         = mode;
            _sessionFile = sessionFile;
            _sanitizer   = sanitizer;
            _matcher     = matcher;

            switch (Mode)
            {
            case RecordedTestMode.Record:
                _session = new RecordSession();
                if (File.Exists(_sessionFile))
                {
                    try
                    {
                        _previousSession = Load();
                    }
                    catch (Exception)
                    {
                        // ignore
                    }
                }
                break;

            case RecordedTestMode.Playback:
                _session = Load();
                break;
            }
        }
Example #2
0
 public void Sanitize(RecordedTestSanitizer sanitizer)
 {
     lock (Entries)
     {
         sanitizer.Sanitize(this);
     }
 }
 public PlaybackTransport(RecordSession session, RecordMatcher matcher, RecordedTestSanitizer sanitizer, Random random)
 {
     _session   = session;
     _matcher   = matcher;
     _random    = random;
     _sanitizer = sanitizer;
 }
Example #4
0
 public PlaybackTransport(RecordSession session, RecordMatcher matcher, RecordedTestSanitizer sanitizer, Random random, Func <RecordEntry, bool> skipRequestBodyFilter)
 {
     _session               = session;
     _matcher               = matcher;
     _random                = random;
     _sanitizer             = sanitizer;
     _skipRequestBodyFilter = skipRequestBodyFilter;
 }
Example #5
0
        public RecordEntry Lookup(RecordEntry requestEntry, RecordMatcher matcher, RecordedTestSanitizer sanitizer)
        {
            sanitizer.Sanitize(requestEntry);

            lock (Entries)
            {
                RecordEntry entry = matcher.FindMatch(requestEntry, Entries);
                Entries.Remove(entry);
                return(entry);
            }
        }
Example #6
0
        public RecordEntry Lookup(Request request, RecordMatcher matcher, RecordedTestSanitizer sanitizer)
        {
            var requestEntry = RecordTransport.CreateEntry(request, null);

            sanitizer.Sanitize(requestEntry);

            lock (Entries)
            {
                RecordEntry entry = matcher.FindMatch(requestEntry, Entries);
                Entries.Remove(entry);
                return(entry);
            }
        }
Example #7
0
        public TestRecording(RecordedTestMode mode, string sessionFile, RecordedTestSanitizer sanitizer, RecordMatcher matcher)
        {
            Mode         = mode;
            _sessionFile = sessionFile;
            _sanitizer   = sanitizer;
            _matcher     = matcher;

            switch (Mode)
            {
            case RecordedTestMode.Record:
                _session = new RecordSession();
                if (File.Exists(_sessionFile))
                {
                    try
                    {
                        _previousSession = Load();
                    }
                    catch (Exception)
                    {
                        // ignore
                    }
                }
                break;

            case RecordedTestMode.Playback:
                try
                {
                    _session = Load();
                }
                catch (Exception ex) when(ex is FileNotFoundException || ex is DirectoryNotFoundException)
                {
                    throw new TestRecordingMismatchException(ex.Message, ex);
                }
                break;
            }
        }
Example #8
0
 protected RecordedTestBase(bool isAsync, RecordedTestMode mode) : base(isAsync)
 {
     Sanitizer = new RecordedTestSanitizer();
     Matcher   = new RecordMatcher();
     Mode      = mode;
 }