diff --git a/dependencies.gradle b/dependencies.gradle index 7a5c0375..243712c2 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -18,7 +18,7 @@ ext.versions = [ kotlin : "1.2.31", - retrofit : "2.1.0", + retrofit : "2.4.0", jackson : "2.9.0", okhttp : "3.9.0", semver : "1.0.0", diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt index 7ee3bcc4..deca2f70 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt @@ -64,11 +64,11 @@ fun checkErrorCallParsed(mockWebServerRule: MockWebServer val response = apiRequest() assertResponseSuccessful(response) - with(response.body()) { + with(response.body()!!) { status `should be` SubsonicResponse.Status.ERROR error `should be` SubsonicError.RequestedDataWasNotFound } - return response.body() + return response.body()!! } fun SubsonicResponse.assertBaseResponseOk() { diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt index 82f95769..ed699f46 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt @@ -26,8 +26,8 @@ class SubsonicApiCreateShareTest : SubsonicAPIClientTest() { val response = client.api.createShare(listOf("some-id")).execute() assertResponseSuccessful(response) - response.body().shares.size `should equal to` 1 - with(response.body().shares[0]) { + response.body()!!.shares.size `should equal to` 1 + with(response.body()!!.shares[0]) { id `should equal to` "0" url `should equal to` "https://subsonic.com/ext/share/awdwo?jwt=eyJhbGciOiJIUzI1NiJ9." + "eyJwYXRoIjoiL2V4dC9zaGFyZS9hd2R3byIsImV4cCI6MTU0MTYyNjQzMX0.iy8dkt_ZZc8hJ692" + diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt index 3b8c66f9..947c7c22 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt @@ -150,7 +150,7 @@ class SubsonicApiErrorsTest : SubsonicAPIClientTest() { } private fun Response.assertError(expectedError: SubsonicError) = - with(body()) { + with(body()!!) { error `should not be` null error `should equal` expectedError } diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt index 817a9f36..c7ca56fb 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt @@ -28,7 +28,7 @@ class SubsonicApiGetAlbumList2Test : SubsonicAPIClientTest() { val response = client.api.getAlbumList2(STARRED).execute() assertResponseSuccessful(response) - with(response.body().albumList) { + with(response.body()!!.albumList) { this.size `should equal to` 2 this[0] `should equal` Album(id = "962", name = "Fury", artist = "Sick Puppies", artistId = "473", coverArt = "al-962", songCount = 13, duration = 2591, diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt index eb2ffb6f..72bb3934 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt @@ -27,7 +27,7 @@ class SubsonicApiGetAlbumListRequestTest : SubsonicAPIClientTest() { val response = client.api.getAlbumList(BY_GENRE).execute() assertResponseSuccessful(response) - with(response.body().albumList) { + with(response.body()!!.albumList) { size `should equal to` 2 this[1] `should equal` MusicDirectoryChild(id = "9997", parent = "9996", isDir = true, title = "Endless Forms Most Beautiful", album = "Endless Forms Most Beautiful", diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt index 32793390..55dfd8df 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt @@ -38,7 +38,7 @@ class SubsonicApiGetAlbumTest : SubsonicAPIClientTest() { val response = client.api.getAlbum("512").execute() assertResponseSuccessful(response) - with(response.body().album) { + with(response.body()!!.album) { id `should equal to` "618" name `should equal to` "Black Ice" artist `should equal to` "AC/DC" diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt index 5904ee6c..2979453b 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt @@ -38,7 +38,7 @@ class SubsonicApiGetArtistTest : SubsonicAPIClientTest() { val response = client.api.getArtist("100").execute() assertResponseSuccessful(response) - with(response.body().artist) { + with(response.body()!!.artist) { id `should equal to` "362" name `should equal to` "AC/DC" coverArt `should equal to` "ar-362" diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt index 100042c5..9a504b71 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt @@ -29,7 +29,7 @@ class SubsonicApiGetArtistsTest : SubsonicAPIClientTest() { val response = client.api.getArtists(null).execute() assertResponseSuccessful(response) - with(response.body().indexes) { + with(response.body()!!.indexes) { lastModified `should equal to` 0L ignoredArticles `should equal to` "The El La Los Las Le Les" shortcutList `should equal` emptyList() diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt index a10070ee..dea42311 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt @@ -25,8 +25,8 @@ class SubsonicApiGetBookmarksTest : SubsonicAPIClientTest() { val response = client.api.getBookmarks().execute() assertResponseSuccessful(response) - response.body().bookmarkList.size `should equal to` 1 - with(response.body().bookmarkList[0]) { + response.body()!!.bookmarkList.size `should equal to` 1 + with(response.body()!!.bookmarkList[0]) { position `should equal to` 107914 username `should equal to` "CaptainEurope" comment `should equal to` "Look at this" diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt index 910c58a0..b7adae46 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt @@ -25,7 +25,7 @@ class SubsonicApiGetChatMessagesTest : SubsonicAPIClientTest() { val response = client.api.getChatMessages().execute() assertResponseSuccessful(response) - with(response.body().chatMessages) { + with(response.body()!!.chatMessages) { size `should equal to` 2 this[0] `should equal` ChatMessage(username = "sindre", time = 1269771845310, message = "Sindre was here") diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt index 1f311f07..722fb2e3 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt @@ -25,7 +25,7 @@ class SubsonicApiGetGenresTest : SubsonicAPIClientTest() { val response = client.api.getGenres().execute() assertResponseSuccessful(response) - with(response.body().genresList) { + with(response.body()!!.genresList) { size `should equal to` 5 this[0] `should equal` Genre(1186, 103, "Rock") this[1] `should equal` Genre(896, 72, "Electronic") diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt index b9bbc34c..5f1ac659 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt @@ -18,8 +18,8 @@ class SubsonicApiGetIndexesTest : SubsonicAPIClientTest() { val response = client.api.getIndexes(null, null).execute() assertResponseSuccessful(response) - response.body().indexes `should not be` null - with(response.body().indexes) { + response.body()!!.indexes `should not be` null + with(response.body()!!.indexes) { lastModified `should equal` 1491069027523 ignoredArticles `should equal` "The El La Los Las Le Les" shortcutList `should equal` listOf( diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt index 21401094..d0ca9eb8 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt @@ -16,7 +16,7 @@ class SubsonicApiGetLicenseTest : SubsonicAPIClientTest() { val response = client.api.getLicense().execute() assertResponseSuccessful(response) - with(response.body()) { + with(response.body()!!) { assertBaseResponseOk() license `should equal` License(valid = true, trialExpires = parseDate("2016-11-23T20:17:15.206Z"), diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt index a5d29b57..31de56e6 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt @@ -21,7 +21,7 @@ class SubsonicApiGetLyricsTest : SubsonicAPIClientTest() { val response = client.api.getLyrics().execute() assertResponseSuccessful(response) - with(response.body().lyrics) { + with(response.body()!!.lyrics) { artist `should equal to` "Amorphis" title `should equal to` "Alone" text `should equal to` "Tear dimmed rememberance\nIn a womb of time\nBreath upon " + diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt index 0801e673..0b7da0a5 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt @@ -40,8 +40,8 @@ class SubsonicApiGetMusicDirectoryTest : SubsonicAPIClientTest() { assertResponseSuccessful(response) - response.body().musicDirectory `should not be` null - with(response.body().musicDirectory) { + response.body()!!.musicDirectory `should not be` null + with(response.body()!!.musicDirectory) { id `should equal to` "4836" parent `should equal to` "300" name `should equal` "12 Stones" diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt index c3460aed..0ccfde1d 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt @@ -15,7 +15,7 @@ class SubsonicApiGetMusicFoldersTest : SubsonicAPIClientTest() { val response = client.api.getMusicFolders().execute() assertResponseSuccessful(response) - with(response.body()) { + with(response.body()!!) { assertBaseResponseOk() musicFolders `should equal` listOf( MusicFolder("0", "Music"), diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt index d542d0db..fff9fe29 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt @@ -28,7 +28,7 @@ class SubsonicApiGetPlaylistTest : SubsonicAPIClientTest() { val response = client.api.getPlaylist("4").execute() assertResponseSuccessful(response) - with(response.body().playlist) { + with(response.body()!!.playlist) { id `should equal to` "0" name `should equal to` "Aug 27, 2017 11:17 AM" owner `should equal to` "admin" diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt index f787c37c..e55df742 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt @@ -27,7 +27,7 @@ class SubsonicApiGetPlaylistsTest : SubsonicAPIClientTest() { val response = client.api.getPlaylists().execute() assertResponseSuccessful(response) - with(response.body().playlists) { + with(response.body()!!.playlists) { size `should equal to` 1 this[0] `should equal` Playlist(id = "0", name = "Aug 27, 2017 11:17 AM", owner = "admin", public = false, songCount = 16, duration = 3573, diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt index 985425e4..1420f58a 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt @@ -27,7 +27,7 @@ class SubsonicApiGetPodcastsTest : SubsonicAPIClientTest() { val response = client.api.getPodcasts().execute() assertResponseSuccessful(response) - val podcastChannelsList = response.body().podcastChannels + val podcastChannelsList = response.body()!!.podcastChannels podcastChannelsList.size `should equal to` 1 with(podcastChannelsList[0]) { id `should equal to` "2" diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt index 8f06b174..eec95522 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt @@ -25,7 +25,7 @@ class SubsonicApiGetRandomSongsTest : SubsonicAPIClientTest() { val response = client.api.getRandomSongs().execute() assertResponseSuccessful(response) - with(response.body().songsList) { + with(response.body()!!.songsList) { size `should equal to` 3 this[1] `should equal` MusicDirectoryChild(id = "3061", parent = "3050", isDir = false, title = "Sure as Hell", album = "Who Are You Now?", artist = "This Providence", diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt index 6da16b43..dc791aa8 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt @@ -25,8 +25,8 @@ class SubsonicApiGetSharesTest : SubsonicAPIClientTest() { val response = client.api.getShares().execute() assertResponseSuccessful(response) - response.body().shares.size `should equal to` 1 - with(response.body().shares[0]) { + response.body()!!.shares.size `should equal to` 1 + with(response.body()!!.shares[0]) { id `should equal to` "0" url `should equal to` "https://subsonic.com/ext/share/awdwo?jwt=eyJhbGciOiJIUzI1" + "NiJ9.eyJwYXRoIjoiL2V4dC9zaGFyZS9hd2R3byIsImV4cCI6MTU0MTYyNjQzMX0.iy8dkt_ZZc8" + diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt index c344c8b3..a3d474fc 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt @@ -25,8 +25,8 @@ class SubsonicApiGetSongsByGenreTest : SubsonicAPIClientTest() { val response = client.api.getSongsByGenre("Trance").execute() assertResponseSuccessful(response) - response.body().songsList.size `should equal to` 2 - with(response.body().songsList) { + response.body()!!.songsList.size `should equal to` 2 + with(response.body()!!.songsList) { this[0] `should equal` MusicDirectoryChild(id = "575", parent = "576", isDir = false, title = "Time Machine (Vadim Zhukov Remix)", album = "668", artist = "Tasadi", year = 2008, genre = "Trance", size = 22467672, diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt index b8409cd0..a77ad81e 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt @@ -27,7 +27,7 @@ class SubsonicApiGetStarred2Test : SubsonicAPIClientTest() { val response = client.api.getStarred2().execute() assertResponseSuccessful(response) - with(response.body().starred2) { + with(response.body()!!.starred2) { albumList `should equal` emptyList() artistList.size `should equal to` 1 artistList[0] `should equal` Artist(id = "364", name = "Parov Stelar", diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt index 3fd5fb9c..8a41f90c 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt @@ -26,7 +26,7 @@ class SubsonicApiGetStarredTest : SubsonicAPIClientTest() { val response = client.api.getStarred().execute() assertResponseSuccessful(response) - with(response.body().starred) { + with(response.body()!!.starred) { albumList `should equal` emptyList() artistList.size `should equal to` 1 artistList[0] `should equal` Artist(id = "364", name = "Parov Stelar", diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt index 648cbeae..709c0de0 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt @@ -25,7 +25,7 @@ class SubsonicApiGetUserTest : SubsonicAPIClientTest() { val response = client.api.getUser("some").execute() assertResponseSuccessful(response) - with(response.body().user) { + with(response.body()!!.user) { username `should equal to` "GodOfUniverse" email `should equal to` "some.mail@example.com" scrobblingEnabled `should equal to` false diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt index ef3d71ab..d11e7d58 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt @@ -25,7 +25,7 @@ class SubsonicApiGetVideosListTest : SubsonicAPIClientTest() { val response = client.api.getVideos().execute() assertResponseSuccessful(response) - with(response.body().videosList) { + with(response.body()!!.videosList) { size `should equal to` 1 this[0] `should equal` MusicDirectoryChild(id = "10402", parent = "10401", isDir = false, title = "MVI_0512", album = "Incoming", size = 21889646, diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt index d072a217..70f83daa 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt @@ -29,7 +29,7 @@ class SubsonicApiJukeboxControlTest : SubsonicAPIClientTest() { val response = client.api.jukeboxControl(STATUS).execute() assertResponseSuccessful(response) - with(response.body().jukebox) { + with(response.body()!!.jukebox) { currentIndex `should equal to` 94 playing `should equal to` true gain `should equal to` 0.32f @@ -45,7 +45,7 @@ class SubsonicApiJukeboxControlTest : SubsonicAPIClientTest() { val response = client.api.jukeboxControl(GET).execute() assertResponseSuccessful(response) - with(response.body().jukebox) { + with(response.body()!!.jukebox) { currentIndex `should equal to` 887 playing `should equal to` false gain `should equal to` 0.88f diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt index b157ef40..055d91fa 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt @@ -13,7 +13,7 @@ class SubsonicApiPingRequestTest : SubsonicAPIClientTest() { val response = client.api.ping().execute() assertResponseSuccessful(response) - with(response.body()) { + with(response.body()!!) { assertBaseResponseOk() } } diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt index cd850480..eacf7eb0 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt @@ -29,7 +29,7 @@ class SubsonicApiSearchTest : SubsonicAPIClientTest() { val response = client.api.search().execute() assertResponseSuccessful(response) - with(response.body().searchResult) { + with(response.body()!!.searchResult) { offset `should equal to` 10 totalHits `should equal to` 53 matchList.size `should equal to` 1 diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt index e9aca121..77fe806d 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt @@ -30,7 +30,7 @@ class SubsonicApiSearchThreeTest : SubsonicAPIClientTest() { val response = client.api.search3("some-query").execute() assertResponseSuccessful(response) - with(response.body().searchResult) { + with(response.body()!!.searchResult) { artistList.size `should equal to` 1 artistList[0] `should equal` Artist(id = "505", name = "The Prodigy", coverArt = "ar-505", albumCount = 5) diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt index e572090f..38e5bb3b 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt @@ -29,7 +29,7 @@ class SubsonicApiSearchTwoTest : SubsonicAPIClientTest() { val response = client.api.search2("some-query").execute() assertResponseSuccessful(response) - with(response.body().searchResult) { + with(response.body()!!.searchResult) { artistList.size `should equal to` 1 artistList[0] `should equal` Artist(id = "522", name = "The Prodigy") albumList.size `should equal to` 1 diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt index 12377e3d..7ed24e26 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt @@ -15,7 +15,7 @@ class SubsonicApiStarTest : SubsonicAPIClientTest() { val response = client.api.star().execute() assertResponseSuccessful(response) - response.body().status `should be` SubsonicResponse.Status.OK + response.body()?.status `should be` SubsonicResponse.Status.OK } @Test diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt index a47a120a..26ec548e 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt @@ -15,7 +15,7 @@ class SubsonicApiUnstarTest : SubsonicAPIClientTest() { val response = client.api.unstar().execute() assertResponseSuccessful(response) - response.body().status `should be` SubsonicResponse.Status.OK + response.body()?.status `should be` SubsonicResponse.Status.OK } @Test diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt index fa1c1cd2..36f024b3 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt @@ -139,14 +139,14 @@ class SubsonicAPIClient(baseUrl: String, val response = apiCall() return if (response.isSuccessful) { val responseBody = response.body() - val contentType = responseBody.contentType() + val contentType = responseBody?.contentType() if (contentType != null && contentType.type().equals("application", true) && contentType.subtype().equals("json", true)) { val error = jacksonMapper.readValue(responseBody.byteStream()) StreamResponse(apiError = error.error, responseHttpCode = response.code()) } else { - StreamResponse(stream = responseBody.byteStream(), + StreamResponse(stream = responseBody?.byteStream(), responseHttpCode = response.code()) } } else { @@ -165,7 +165,7 @@ class SubsonicAPIClient(baseUrl: String, val request = api.stream(id).execute() val url = request.raw().request().url().toString() if (request.isSuccessful) { - request.body().close() + request.body()?.close() } return url } diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt index bec49519..a6c8b853 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt @@ -19,7 +19,7 @@ class PasswordHexInterceptor(private val password: String) : Interceptor { override fun intercept(chain: Chain): Response { val originalRequest = chain.request() val updatedUrl = originalRequest.url().newBuilder() - .addQueryParameter("p", passwordHex).build() + .addEncodedQueryParameter("p", passwordHex).build() return chain.proceed(originalRequest.newBuilder().url(updatedUrl).build()) } }