/// <summary> /// Read the cached scrobbles. /// </summary> public async Task GetCachedScrobbles() { try { EnableControls = false; OnStatusUpdated("Trying to get cached scrobbles..."); Scrobbles = new ObservableCollection <Scrobble>(await Scrobbler.GetCachedAsync()); OnStatusUpdated($"Successfully got cached scrobbles ({Scrobbles.Count})"); } catch (Exception ex) { Scrobbles.Clear(); OnStatusUpdated($"Fatal error getting cached scrobbles: {ex.Message}"); } finally { EnableControls = true; } }
public async Task CorrectResponseWhenRequestFailed() { var requestMessage = GenerateExpectedRequestMessage(TrackApiResponses.TrackScrobbleMultipleRequestBody); var testScrobbles = GetTestScrobbles(); var responseMessage = TestHelper.CreateResponseMessage(HttpStatusCode.RequestTimeout, new byte[0]); var scrobbleResponse = await ExecuteTestInternal(testScrobbles, responseMessage, requestMessage); if (Scrobbler.CacheEnabled) { Assert.AreEqual(LastResponseStatus.Cached, scrobbleResponse.Status); // check actually cached var cached = await Scrobbler.GetCachedAsync(); TestHelper.AssertSerialiseEqual(testScrobbles, cached); } else { Assert.AreEqual(LastResponseStatus.RequestFailed, scrobbleResponse.Status); } }
public Task <IEnumerable <Scrobble> > GetCachedAsync() { return(_scrobbler.GetCachedAsync()); }