public void GetFrontFeaturedListingsTest() { EtsyContext etsyContext = new EtsyContext(Constants.DummyEtsyApiKey); MockFixedDataRequestGenerator requestGenerator = new MockFixedDataRequestGenerator(GetFrontFeaturedListingsRawResults); DataRetriever dataRetriever = new DataRetriever(new NullDataCache(), requestGenerator); IListingsService etsyListingsService = new ListingsService(etsyContext, dataRetriever); using (AutoResetEvent waitEvent = new AutoResetEvent(false)) { ResultEventArgs<Listings> result = null; etsyListingsService.GetFrontFeaturedListingsCompleted += (s, e) => { result = e; waitEvent.Set(); }; // ACT etsyListingsService.GetFrontFeaturedListings(0, 10, DetailLevel.Low); bool signalled = waitEvent.WaitOne(Constants.WaitTimeout); // ASSERT // check that the event was fired, did not time out Assert.IsTrue(signalled, "Not signalled"); TestHelpers.CheckResultSuccess(result); } }
public void GetFrontFeaturedListingsApiKeyInvalidTest() { // ARRANGE using (AutoResetEvent waitEvent = new AutoResetEvent(false)) { ResultEventArgs<Listings> result = null; IListingsService listingsService = new ListingsService(new EtsyContext("InvalidKey")); listingsService.GetFrontFeaturedListingsCompleted += (s, e) => { result = e; waitEvent.Set(); }; // ACT listingsService.GetFrontFeaturedListings(0, 10, DetailLevel.Low); bool signalled = waitEvent.WaitOne(NetsyData.WaitTimeout); // ASSERT // check that the event was fired, did not time out Assert.IsTrue(signalled, "Not signalled"); // check the data Assert.IsNotNull(result); // check the data - should fail Assert.IsNotNull(result); Assert.IsNotNull(result.ResultStatus); Assert.IsFalse(result.ResultStatus.Success); Assert.AreEqual(WebExceptionStatus.ProtocolError, result.ResultStatus.WebStatus); } }
/// <summary> /// Get a valid listing id for use in tests. /// Any one will do so get one off the front features listing /// </summary> /// <returns>a valid listing id</returns> public static int RetrieveTestListingId() { if (cachedListingId > 0) { return cachedListingId; } int result = 0; using (AutoResetEvent waitEvent = new AutoResetEvent(false)) { IListingsService listingsService = new ListingsService(new EtsyContext(NetsyData.EtsyApiKey)); listingsService.GetFrontFeaturedListingsCompleted += (s, e) => { result = e.ResultValue.Results[0].ListingId; waitEvent.Set(); }; listingsService.GetFrontFeaturedListings(0, 1, DetailLevel.Low); waitEvent.WaitOne(Constants.WaitTimeout); } cachedListingId = result; return result; }
public void GetFrontFeaturedListingsCallTest() { // ARRANGE using (AutoResetEvent waitEvent = new AutoResetEvent(false)) { ResultEventArgs<Listings> result = null; IListingsService listingsService = new ListingsService(new EtsyContext(NetsyData.EtsyApiKey)); listingsService.GetFrontFeaturedListingsCompleted += (s, e) => { result = e; waitEvent.Set(); }; // ACT listingsService.GetFrontFeaturedListings(0, 10, DetailLevel.Low); bool signalled = waitEvent.WaitOne(NetsyData.WaitTimeout); // ASSERT // check that the event was fired, did not time out Assert.IsTrue(signalled, "Not signalled"); // check the data Assert.IsNotNull(result); TestHelpers.CheckResultSuccess(result); Assert.IsTrue(result.ResultValue.Count > 1); Assert.AreEqual(10, result.ResultValue.Results.Length); Assert.IsNotNull(result.ResultValue.Params); } }
public void GetFrontFeaturedListingsApiKeyMissingTest() { // ARRANGE ResultEventArgs<Listings> result = null; IListingsService listingsService = new ListingsService(new EtsyContext(string.Empty)); listingsService.GetFrontFeaturedListingsCompleted += (s, e) => result = e; // ACT listingsService.GetFrontFeaturedListings(0, 10, DetailLevel.Low); // check the data TestHelpers.CheckResultFailure(result); }