diff --git a/src/IF.Lastfm.Core.Tests/LastFmTests.cs b/src/IF.Lastfm.Core.Tests/LastFmTests.cs index 614433a..7704a35 100644 --- a/src/IF.Lastfm.Core.Tests/LastFmTests.cs +++ b/src/IF.Lastfm.Core.Tests/LastFmTests.cs @@ -1,5 +1,8 @@ using System; using System.Collections.Generic; +using System.Text; +using IF.Lastfm.Core.Api.Enums; +using IF.Lastfm.Core.Tests.Resources; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; @@ -21,5 +24,22 @@ public void ApiUrlFormatReturnsCorrectly() Assert.AreEqual(expected, actual); } + + [TestMethod] + public void IsResponseValid() + { + LastResponseStatus status; + + Assert.IsFalse(LastFm.IsResponseValid(null, out status)); + Assert.IsFalse(LastFm.IsResponseValid("{invalid json", out status)); + + var error6 = Encoding.UTF8.GetString(ArtistApiResponses.ArtistGetTagsError); + Assert.IsFalse(LastFm.IsResponseValid(error6, out status)); + Assert.AreEqual(LastResponseStatus.MissingParameters, status); + + var goodResponse = Encoding.UTF8.GetString(ArtistApiResponses.ArtistGetInfoSuccess); + Assert.IsTrue(LastFm.IsResponseValid(goodResponse, out status)); + Assert.AreEqual(LastResponseStatus.Successful, status); + } } } diff --git a/src/IF.Lastfm.Core/Api/Commands/Album/GetInfoCommand.cs b/src/IF.Lastfm.Core/Api/Commands/Album/GetInfoCommand.cs index 138fd8c..3a2c5f0 100644 --- a/src/IF.Lastfm.Core/Api/Commands/Album/GetInfoCommand.cs +++ b/src/IF.Lastfm.Core/Api/Commands/Album/GetInfoCommand.cs @@ -67,5 +67,4 @@ public async override Task> HandleResponse(HttpResponseM } } } - } diff --git a/src/IF.Lastfm.Core/LastFm.cs b/src/IF.Lastfm.Core/LastFm.cs index d1f20eb..a1d2bd0 100644 --- a/src/IF.Lastfm.Core/LastFm.cs +++ b/src/IF.Lastfm.Core/LastFm.cs @@ -103,7 +103,7 @@ public static bool IsResponseValid(string json, out LastResponseStatus status) return false; } - var codeString = jo.Value("Status"); + var codeString = jo.Value("error"); if (string.IsNullOrWhiteSpace(codeString) && json.Length > 1) { status = LastResponseStatus.Successful;