/// <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;
     }
 }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
 public Task <IEnumerable <Scrobble> > GetCachedAsync()
 {
     return(_scrobbler.GetCachedAsync());
 }