Search in sources :

Example 6 with WebserviceHistoryService

use of com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService in project musiccabinet by hakko.

the class ArtistQueryClientTest method getArtistQueryClient.

private ArtistQueryClient getArtistQueryClient() {
    ArtistQueryClient artistQueryClient = new ArtistQueryClient();
    HttpClient httpClient = Mockito.mock(HttpClient.class);
    artistQueryClient.setHttpClient(httpClient);
    WebserviceHistoryService webserviceHistoryService = Mockito.mock(WebserviceHistoryService.class);
    artistQueryClient.setWebserviceHistoryService(webserviceHistoryService);
    return artistQueryClient;
}
Also used : WebserviceHistoryService(com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService) HttpClient(org.apache.http.client.HttpClient)

Example 7 with WebserviceHistoryService

use of com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService in project musiccabinet by hakko.

the class ReleaseGroupsClientTest method getReleaseGroupsClient.

private ReleaseGroupsClient getReleaseGroupsClient() {
    ReleaseGroupsClient releaseGroupsClient = new ReleaseGroupsClient();
    HttpClient httpClient = Mockito.mock(HttpClient.class);
    releaseGroupsClient.setHttpClient(httpClient);
    WebserviceHistoryService webserviceHistoryService = Mockito.mock(WebserviceHistoryService.class);
    releaseGroupsClient.setWebserviceHistoryService(webserviceHistoryService);
    return releaseGroupsClient;
}
Also used : WebserviceHistoryService(com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService) HttpClient(org.apache.http.client.HttpClient)

Example 8 with WebserviceHistoryService

use of com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService in project musiccabinet by hakko.

the class TagUpdateServiceTest method updatesWithinThresholdsAreIgnored.

@Test
public void updatesWithinThresholdsAreIgnored() throws ApplicationException {
    ArtistTopTagsDao artistTopTagsDao = mock(ArtistTopTagsDao.class);
    tagUpdateService.setArtistTopTagsDao(artistTopTagsDao);
    setClientResponse(responseOK);
    TagUpdateClient tagUpdateClient = tagUpdateService.tagUpdateClient;
    WebserviceHistoryService historyService = mock(WebserviceHistoryService.class);
    tagUpdateService.setWebserviceHistoryService(historyService);
    tagUpdateService.register(artist1Addition);
    tagUpdateService.register(artist2Removal);
    tagUpdateService.register(artist3Addition);
    tagUpdateService.updateTags();
    verify(tagUpdateClient, times(1)).updateTag(artist1Addition);
    verify(tagUpdateClient, times(1)).updateTag(artist2Removal);
    verify(tagUpdateClient, times(0)).updateTag(artist3Addition);
}
Also used : TagUpdateClient(com.github.hakko.musiccabinet.ws.lastfm.TagUpdateClient) WebserviceHistoryService(com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService) ArtistTopTagsDao(com.github.hakko.musiccabinet.dao.ArtistTopTagsDao) Test(org.junit.Test)

Example 9 with WebserviceHistoryService

use of com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService in project musiccabinet by hakko.

the class TagUpdateServiceTest method duplicateUpdatesAreRemoved.

@Test
public void duplicateUpdatesAreRemoved() throws ApplicationException {
    tagUpdateService.failedUpdates.clear();
    setClientResponse(responseFail);
    ArtistTopTagsDao artistTopTagsDao = mock(ArtistTopTagsDao.class);
    tagUpdateService.setArtistTopTagsDao(artistTopTagsDao);
    WebserviceHistoryService historyService = mock(WebserviceHistoryService.class);
    tagUpdateService.setWebserviceHistoryService(historyService);
    tagUpdateService.register(artist1Addition);
    tagUpdateService.register(artist1Addition);
    tagUpdateService.register(artist1Addition);
    tagUpdateService.updateTags();
    // tag updates and web service blocking are instantaneous
    verify(historyService, times(3)).blockWebserviceInvocation(artist1.getId(), ARTIST_GET_TOP_TAGS);
    verify(artistTopTagsDao, times(3)).updateTopTag(artist1.getId(), artist1Addition.getTagName(), artist1Addition.getTagCount());
    // dupes removed, one item updated and put on fail queue
    assertEquals(1, tagUpdateService.failedUpdates.size());
}
Also used : WebserviceHistoryService(com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService) ArtistTopTagsDao(com.github.hakko.musiccabinet.dao.ArtistTopTagsDao) Test(org.junit.Test)

Example 10 with WebserviceHistoryService

use of com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService in project musiccabinet by hakko.

the class AlbumInfoClientTest method validateParameters.

@Test
public void validateParameters() throws ApplicationException {
    final String method = AlbumInfoClient.METHOD;
    final String artistName = "The Beatles";
    final String albumName = "Sergeant Pepper's Lonely Hearts Club Band";
    new AlbumInfoClient() {

        @Override
        protected WSResponse executeWSRequest(WebserviceInvocation wi, List<NameValuePair> params) throws ApplicationException {
            Assert.assertEquals(Calltype.ALBUM_GET_INFO, wi.getCallType());
            Assert.assertTrue(albumName.equals(wi.getAlbum().getName()));
            assertHasParameter(params, PARAM_METHOD, method);
            assertHasParameter(params, PARAM_ARTIST, artistName);
            assertHasParameter(params, PARAM_ALBUM, albumName);
            return null;
        }

        @Override
        protected WebserviceHistoryService getHistoryService() {
            return Mockito.mock(WebserviceHistoryService.class);
        }
    }.getAlbumInfo(new Album(artistName, albumName));
}
Also used : NameValuePair(org.apache.http.NameValuePair) ApplicationException(com.github.hakko.musiccabinet.exception.ApplicationException) WebserviceHistoryService(com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService) Album(com.github.hakko.musiccabinet.domain.model.music.Album) WebserviceInvocation(com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation) Test(org.junit.Test)

Aggregations

WebserviceHistoryService (com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService)16 WebserviceInvocation (com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation)12 Test (org.junit.Test)12 NameValuePair (org.apache.http.NameValuePair)11 ApplicationException (com.github.hakko.musiccabinet.exception.ApplicationException)10 Artist (com.github.hakko.musiccabinet.domain.model.music.Artist)5 HttpClient (org.apache.http.client.HttpClient)4 ArtistTopTagsDao (com.github.hakko.musiccabinet.dao.ArtistTopTagsDao)2 LastFmUser (com.github.hakko.musiccabinet.domain.model.library.LastFmUser)2 LastFmGroup (com.github.hakko.musiccabinet.domain.model.library.LastFmGroup)1 Period (com.github.hakko.musiccabinet.domain.model.library.Period)1 Album (com.github.hakko.musiccabinet.domain.model.music.Album)1 Tag (com.github.hakko.musiccabinet.domain.model.music.Tag)1 Track (com.github.hakko.musiccabinet.domain.model.music.Track)1 ThrottleService (com.github.hakko.musiccabinet.service.lastfm.ThrottleService)1 TagUpdateClient (com.github.hakko.musiccabinet.ws.lastfm.TagUpdateClient)1 ArrayList (java.util.ArrayList)1 ClientConnectionManager (org.apache.http.conn.ClientConnectionManager)1 BasicNameValuePair (org.apache.http.message.BasicNameValuePair)1