@Test
public void testAlbumFetching2LastFMErrorNoUriFails() throws IOException {

    /*
    hasAlbumArtist = true;
    hasUri = false;
    isOnline = true
    wantAlbumArt = true;
    preferDownload = true;
    isLocalArt = false;
     */
    ArtInfo artInfo = ArtInfo.forAlbum("alvvays", "alvvays", null);
    //no to wifi
    when(mPreferences.getBoolean(ArtworkPreferences.ONLY_ON_WIFI, true)).thenReturn(false);
    //yes were connected
    NetworkInfo networkInfo = mock(NetworkInfo.class);
    when(networkInfo.isConnectedOrConnecting()).thenReturn(true);
    when(mConnectivityManager.getActiveNetworkInfo()).thenReturn(networkInfo);
    //no to cache
    when(mL2Cache.containsKey(artInfo.cacheKey())).thenReturn(false);
    //yes to want
    when(mPreferences.getBoolean(ArtworkPreferences.DOWNLOAD_MISSING_ARTWORK, true)).thenReturn(true);
    //yes to download
    when(mPreferences.getBoolean(ArtworkPreferences.PREFER_DOWNLOAD_ARTWORK, false)).thenReturn(true);
    //prep the server
    mServer.enqueue(new MockResponse().setResponseCode(400).setBody(IOUtils.toString(getClass().getClassLoader()
            .getResourceAsStream("lfm_error_album_not_found.xml"))));
    mFetcher.fetch(artInfo, mListener);
    verify(mListener, never()).onNext(Matchers.<Bitmap>any());
    verify(mListener, never()).onCompleted();
    verify(mListener).onError(Matchers.<Throwable>any());
    assertThat(mFetcher.originalUri).isNullOrEmpty();
    verifyZeroInteractions(mContext);
}