@SuppressWarnings("unchecked") public void testGetPlayURIHappyPath() throws URISyntaxException, IOException { // mock request and response RestResponse restResponse = mock(RestResponse.class); when(restClient.doGet( eq(Const.USE_HTTPS), eq(HostName.PLAY), eq(Path.MUSIC_PLAY), isA(Map.class), isA(Map.class), isA(Map.class))) .thenReturn(restResponse); when(restResponse.getStatusCode()).thenReturn(HttpStatus.SC_OK); String playResponseJson = "playResponseJson"; when(restResponse.getBody()).thenReturn(playResponseJson); StreamingUrl streamingUrl = mock(StreamingUrl.class); when(gsonWrapper.fromJson(playResponseJson, StreamingUrl.class)).thenReturn(streamingUrl); String url = "http://google.com"; when(streamingUrl.getUrl()).thenReturn(url); URI uri = new URI(url); // do the call assertEquals(uri, playClient.getPlayURI(songId, playSession)); }
public void testGetPlayURIFailsDueNullPlaySession() throws IOException, URISyntaxException { try { playClient.getPlayURI(songId, null); fail("should have thrown exception"); } catch (IllegalArgumentException e) { } }
public void testGetPlayURIFailsDueToEmptySongId() throws IOException, URISyntaxException { try { playClient.getPlayURI("", playSession); fail("should have thrown exception"); } catch (IllegalArgumentException e) { } }