use of com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation in project musiccabinet by hakko.
the class JdbcWebserviceHistoryDaoTest method importTrackSimilaritiesIsPossibleForCovers.
@Test
public void importTrackSimilaritiesIsPossibleForCovers() {
Calltype SIMILAR = Calltype.TRACK_GET_SIMILAR;
Track track1 = new Track("Daniel Johnston", "True Love Will Find You In The End");
Track track2 = new Track("Headless Heroes", "True Love Will Find You In The End");
WebserviceInvocation similarTrack1 = new WebserviceInvocation(SIMILAR, track1);
WebserviceInvocation similarTrack2 = new WebserviceInvocation(SIMILAR, track2);
deleteWebserviceInvocations();
assertTrue(dao.isWebserviceInvocationAllowed(similarTrack1));
assertTrue(dao.isWebserviceInvocationAllowed(similarTrack2));
dao.logWebserviceInvocation(similarTrack1);
assertFalse(dao.isWebserviceInvocationAllowed(similarTrack1));
assertTrue(dao.isWebserviceInvocationAllowed(similarTrack2));
dao.logWebserviceInvocation(similarTrack2);
assertFalse(dao.isWebserviceInvocationAllowed(similarTrack1));
assertFalse(dao.isWebserviceInvocationAllowed(similarTrack2));
}
use of com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation in project musiccabinet by hakko.
the class JdbcWebserviceHistoryDaoTest method webserviceHistoryIsCaseInsensitive.
@Test
public void webserviceHistoryIsCaseInsensitive() {
Calltype TOP = Calltype.ARTIST_GET_TOP_TRACKS;
Artist artist1 = new Artist("Håll Det Äkta");
Artist artist2 = new Artist("HÅLL DET ÄKTA");
WebserviceInvocation topArtist1 = new WebserviceInvocation(TOP, artist1);
WebserviceInvocation topArtist2 = new WebserviceInvocation(TOP, artist2);
deleteWebserviceInvocations();
assertTrue(dao.isWebserviceInvocationAllowed(topArtist1));
assertTrue(dao.isWebserviceInvocationAllowed(topArtist2));
dao.logWebserviceInvocation(topArtist1);
assertFalse(dao.isWebserviceInvocationAllowed(topArtist1));
assertFalse(dao.isWebserviceInvocationAllowed(topArtist2));
}
use of com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation in project musiccabinet by hakko.
the class JdbcWebserviceHistoryDaoTest method importArtistSimilaritiesAndTopTracksWorkIndependently.
@Test
public void importArtistSimilaritiesAndTopTracksWorkIndependently() {
Calltype TOP = Calltype.ARTIST_GET_TOP_TRACKS;
Calltype SIMILAR = Calltype.ARTIST_GET_SIMILAR;
Artist artist1 = new Artist("Björk");
Artist artist2 = new Artist("Björn Olsson");
WebserviceInvocation topArtist1 = new WebserviceInvocation(TOP, artist1);
WebserviceInvocation topArtist2 = new WebserviceInvocation(TOP, artist2);
WebserviceInvocation similarArtist1 = new WebserviceInvocation(SIMILAR, artist1);
WebserviceInvocation similarArtist2 = new WebserviceInvocation(SIMILAR, artist2);
deleteWebserviceInvocations();
// everything's allowed
assertTrue(dao.isWebserviceInvocationAllowed(topArtist1));
assertTrue(dao.isWebserviceInvocationAllowed(similarArtist1));
// invoke SIMILAR for artist1, TOP is still allowed
dao.logWebserviceInvocation(similarArtist1);
assertTrue(dao.isWebserviceInvocationAllowed(topArtist1));
assertFalse(dao.isWebserviceInvocationAllowed(similarArtist1));
// invoke TOP for artist2, SIMILAR is still allowed
dao.logWebserviceInvocation(topArtist2);
assertFalse(dao.isWebserviceInvocationAllowed(topArtist2));
assertTrue(dao.isWebserviceInvocationAllowed(similarArtist2));
}
use of com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation in project musiccabinet by hakko.
the class JdbcWebserviceHistoryDaoTest method blockLogsInvocationTimeInAnInfiniteFuture.
@Test
public void blockLogsInvocationTimeInAnInfiniteFuture() {
Calltype TOP = Calltype.ARTIST_GET_TOP_TRACKS;
Artist artist = new Artist("Björn Olsson");
int artistId = musicDao.getArtistId(artist);
WebserviceInvocation wi = new WebserviceInvocation(TOP, artist);
assertTrue(dao.isWebserviceInvocationAllowed(wi));
dao.blockWebserviceInvocation(artistId, TOP);
assertFalse(dao.isWebserviceInvocationAllowed(wi));
dao.getJdbcTemplate().queryForObject("select 1 from library.webservice_history" + " where artist_id = ? and calltype_id = ? and invocation_time = 'infinity'", Integer.class, artistId, TOP.getDatabaseId());
}
use of com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation in project musiccabinet by hakko.
the class JdbcWebserviceHistoryDaoTest method importGroupRelatedDataNotPossibleTwice.
@Test
public void importGroupRelatedDataNotPossibleTwice() {
Calltype GROUP_ARTISTS = Calltype.GROUP_WEEKLY_ARTIST_CHART;
LastFmGroup group = new LastFmGroup("Brainwashed");
WebserviceInvocation groupArtists = new WebserviceInvocation(GROUP_ARTISTS, group);
deleteWebserviceInvocations();
assertTrue(dao.isWebserviceInvocationAllowed(groupArtists));
dao.logWebserviceInvocation(groupArtists);
assertFalse(dao.isWebserviceInvocationAllowed(groupArtists));
}
Aggregations