Package com.github.hakko.musiccabinet.ws.lastfm

Source Code of com.github.hakko.musiccabinet.ws.lastfm.TrackSimilarityClientTest

package com.github.hakko.musiccabinet.ws.lastfm;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;

import java.util.List;

import org.apache.http.NameValuePair;
import org.junit.Test;
import org.mockito.Mockito;

import com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation;
import com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation.Calltype;
import com.github.hakko.musiccabinet.domain.model.music.Artist;
import com.github.hakko.musiccabinet.domain.model.music.Track;
import com.github.hakko.musiccabinet.exception.ApplicationException;
import com.github.hakko.musiccabinet.service.lastfm.WebserviceHistoryService;

public class TrackSimilarityClientTest extends AbstractWSImplementationTest {

  @Test
  public void validateParameters() throws ApplicationException {

    final String method = TrackSimilarityClient.METHOD;
    final String artistName = "madonna";
    final String trackName = "ray of light";
   
    new TrackSimilarityClient() {
      @Override
      protected WSResponse executeWSRequest(WebserviceInvocation wi,
          List<NameValuePair> params) throws ApplicationException {
       
        assertEquals(Calltype.TRACK_GET_SIMILAR, wi.getCallType());
        assertTrue(trackName.equals(wi.getTrack().getName()));
        assertTrue(artistName.equals(wi.getTrack().getArtist().getName()));
       
        assertHasParameter(params, PARAM_METHOD, method);
        assertHasParameter(params, PARAM_ARTIST, artistName);
        assertHasParameter(params, PARAM_TRACK, trackName);
       
        return null;
      }
     
      @Override
      protected WebserviceHistoryService getHistoryService() {
        return Mockito.mock(WebserviceHistoryService.class);
      }

    }.getTrackSimilarity(new Track(new Artist(artistName), trackName));
  }
 
}
TOP

Related Classes of com.github.hakko.musiccabinet.ws.lastfm.TrackSimilarityClientTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.