public void SetUp() { _mocks = new MockRepository(); _mockTracker = _mocks.CreateMock <ITracker>(); CacheTracker.ClearCache(); }
public PackageTracker(IWebPoster webPoster, IGeocodeDb geocodeDb) { //Todo: This is a bad place to load these: var uspsUserName = WebConfigurationManager.AppSettings["UspsUserName"]; var uspsPassword = WebConfigurationManager.AppSettings["UspsPassword"]; var fedexKey = WebConfigurationManager.AppSettings["FedexKey"]; var fedexPassword = WebConfigurationManager.AppSettings["FedexPassword"]; var fedexAccountNumber = WebConfigurationManager.AppSettings["FedexAccountNumber"]; var fedexMeterNumber = WebConfigurationManager.AppSettings["FedexMeterNumber"]; var coreTrackers = new List<ITracker>(); coreTrackers.Add(new Tracking.Simulation.SimulationTracker()); coreTrackers.Add(new UpsTracker()); coreTrackers.Add(new UspsTracker(new PostUtility(), uspsUserName, uspsPassword, true)); coreTrackers.Add(new FedexTracker(new TrackService(), fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, false)); //coreTrackers.Add(new DhlTracker(new PostUtility(), "", ""); var multiTracker = new MultiTracker(coreTrackers); var cacheTracker = new CacheTracker(multiTracker); var emptyTracker = new EmptyTrackingNumberTracker(cacheTracker); var loggingTracker = new LoggingTracker(emptyTracker); var sanitizerTracker = new TrackingNumberStandardizerTracker(loggingTracker); var geocodingTracker = new GeocodingTracker(sanitizerTracker, geocodeDb); var errorHandlerTracker = new ErrorHandlerTracker(geocodingTracker); _defaultTracker = errorHandlerTracker; }
public void Simple_Cache_Check() { var td = new TrackingData(); Expect.Call(_mockTracker.GetTrackingData("abc")).Return(td); _mocks.ReplayAll(); _ct = new CacheTracker(_mockTracker, TimeSpan.FromSeconds(10.0)); _ct.GetTrackingData("abc"); //This should use the passed in tracker _ct.GetTrackingData("abc"); //This should use the cache _mocks.VerifyAll(); }
public void No_Tracking_Data_Available() { var td = new TrackingData(); Expect.Call(_mockTracker.GetTrackingData("abc")).Return(null).Repeat.Twice(); _mocks.ReplayAll(); _ct = new CacheTracker(_mockTracker); Assert.AreEqual(null, _ct.GetTrackingData("abc")); Assert.AreEqual(null, _ct.GetTrackingData("abc")); _mocks.VerifyAll(); }
public void Try_Default_Cache_Time() { var td = new TrackingData(); Expect.Call(_mockTracker.GetTrackingData("abc")).Return(td); _mocks.ReplayAll(); _ct = new CacheTracker(_mockTracker); _ct.GetTrackingData("abc"); //This should use the passed in tracker _ct.GetTrackingData("abc"); //This should use the cache _mocks.VerifyAll(); }
public void Cache_Expired_Recheck_Tracker() { var td = new TrackingData(); Expect.Call(_mockTracker.GetTrackingData("abc")).Return(td).Repeat.Twice(); _mocks.ReplayAll(); _ct = new CacheTracker(_mockTracker, TimeSpan.FromSeconds(1.0)); _ct.GetTrackingData("abc"); //This should use the passed in tracker Thread.Sleep(2000); _ct.GetTrackingData("abc"); //This should use ask the pass in tracker again _mocks.VerifyAll(); }