mirror of
https://gitlab.com/ultrasonic/ultrasonic.git
synced 2025-04-24 12:50:58 +03:00
Merge pull request #38 from ultrasonic/test-improvements
Use same approach to all integration tests.
This commit is contained in:
commit
e1ec4d0c56
@ -66,8 +66,8 @@ fun SubsonicResponse.assertBaseResponseOk() {
|
||||
}
|
||||
|
||||
fun MockWebServerRule.assertRequestParam(responseResourceName: String,
|
||||
apiRequest: () -> Response<out SubsonicResponse>,
|
||||
expectedParam: String) {
|
||||
expectedParam: String,
|
||||
apiRequest: () -> Response<out SubsonicResponse>) {
|
||||
this.enqueueResponse(responseResourceName)
|
||||
apiRequest()
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.Album
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
|
||||
/**
|
||||
@ -12,20 +13,22 @@ import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
class SubsonicApiGetAlbumTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse error responce`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getAlbum(56L).execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.album `should not be` null
|
||||
response.album `should equal` Album()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should add id to request params`() {
|
||||
mockWebServerRule.enqueueResponse("get_album_ok.json")
|
||||
val id = 76L
|
||||
client.api.getAlbum(id).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "id=$id"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_album_ok.json",
|
||||
expectedParam = "id=$id") {
|
||||
client.api.getAlbum(id).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,10 +1,11 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.Album
|
||||
import org.moire.ultrasonic.api.subsonic.models.Artist
|
||||
|
||||
/**
|
||||
* Integration test for [SubsonicAPIClient] for getArtist call.
|
||||
@ -12,20 +13,22 @@ import org.moire.ultrasonic.api.subsonic.models.Album
|
||||
class SubsonicApiGetArtistTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse error call`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getArtist(101L).execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.artist `should not be` null
|
||||
response.artist `should equal` Artist()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass id param in request`() {
|
||||
val id = 929L
|
||||
mockWebServerRule.enqueueResponse("get_artist_ok.json")
|
||||
client.api.getArtist(id).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "id=$id"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_artist_ok.json",
|
||||
expectedParam = "id=$id") {
|
||||
client.api.getArtist(id).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,12 +1,12 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.Artist
|
||||
import org.moire.ultrasonic.api.subsonic.models.Index
|
||||
import org.moire.ultrasonic.api.subsonic.models.Indexes
|
||||
|
||||
/**
|
||||
* Integration test for [SubsonicAPIClient] for getArtists() request.
|
||||
@ -14,17 +14,12 @@ import org.moire.ultrasonic.api.subsonic.models.Index
|
||||
class SubsonicApiGetArtistsTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse get artists error response`() {
|
||||
val response = checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getArtists(null).execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.indexes `should not be` null
|
||||
with(response.indexes) {
|
||||
lastModified `should equal to` 0
|
||||
ignoredArticles `should equal to` ""
|
||||
indexList.size `should equal to` 0
|
||||
shortcutList.size `should equal to` 0
|
||||
}
|
||||
response.indexes `should equal` Indexes()
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -56,10 +51,10 @@ class SubsonicApiGetArtistsTest : SubsonicAPIClientTest() {
|
||||
fun `Should pass param on query for get artists call`() {
|
||||
mockWebServerRule.enqueueResponse("get_artists_ok.json")
|
||||
val musicFolderId = 101L
|
||||
client.api.getArtists(musicFolderId).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "musicFolderId=$musicFolderId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_artists_ok.json",
|
||||
expectedParam = "musicFolderId=$musicFolderId") {
|
||||
client.api.getArtists(musicFolderId).execute()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,11 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.Artist
|
||||
import org.moire.ultrasonic.api.subsonic.models.Index
|
||||
import org.moire.ultrasonic.api.subsonic.models.Indexes
|
||||
|
||||
/**
|
||||
* Integration test for [SubsonicAPIClient] for getIndexes() request.
|
||||
@ -43,54 +42,31 @@ class SubsonicApiGetIndexesTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should add music folder id as a query param for getIndexes api call`() {
|
||||
mockWebServerRule.enqueueResponse("get_indexes_ok.json")
|
||||
val musicFolderId = 9L
|
||||
|
||||
client.api.getIndexes(musicFolderId, null).execute()
|
||||
|
||||
with(mockWebServerRule.mockWebServer.takeRequest()) {
|
||||
requestLine `should contain` "musicFolderId=$musicFolderId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_indexes_ok.json",
|
||||
expectedParam = "musicFolderId=$musicFolderId") {
|
||||
client.api.getIndexes(musicFolderId, null).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should add ifModifiedSince as a query param for getIndexes api call`() {
|
||||
mockWebServerRule.enqueueResponse("get_indexes_ok.json")
|
||||
val ifModifiedSince = System.currentTimeMillis()
|
||||
|
||||
client.api.getIndexes(null, ifModifiedSince).execute()
|
||||
|
||||
with(mockWebServerRule.mockWebServer.takeRequest()) {
|
||||
requestLine `should contain` "ifModifiedSince=$ifModifiedSince"
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should add both params to query for getIndexes api call`() {
|
||||
mockWebServerRule.enqueueResponse("get_indexes_ok.json")
|
||||
val musicFolderId = 110L
|
||||
val ifModifiedSince = System.currentTimeMillis()
|
||||
|
||||
client.api.getIndexes(musicFolderId, ifModifiedSince).execute()
|
||||
|
||||
with(mockWebServerRule.mockWebServer.takeRequest()) {
|
||||
requestLine `should contain` "musicFolderId=$musicFolderId"
|
||||
requestLine `should contain` "ifModifiedSince=$ifModifiedSince"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_indexes_ok.json",
|
||||
expectedParam = "ifModifiedSince=$ifModifiedSince") {
|
||||
client.api.getIndexes(null, ifModifiedSince).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should parse get indexes error response`() {
|
||||
val response = checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getIndexes(null, null).execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.indexes `should not be` null
|
||||
with(response.indexes) {
|
||||
lastModified `should equal to` 0
|
||||
ignoredArticles `should equal to` ""
|
||||
indexList.size `should equal to` 0
|
||||
shortcutList.size `should equal to` 0
|
||||
}
|
||||
response.indexes `should equal` Indexes()
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
@ -28,14 +27,12 @@ class SubsonicApiGetLicenseTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should parse get license error response`() {
|
||||
val response = checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getLicense().execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.license `should not be` null
|
||||
with(response.license) {
|
||||
email `should equal to` ""
|
||||
valid `should equal to` false
|
||||
}
|
||||
response.license.email `should equal` License().email
|
||||
response.license.valid `should equal` License().valid
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should be`
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectory
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
|
||||
/**
|
||||
@ -14,31 +14,22 @@ import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
class SubsonicApiGetMusicDirectoryTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse getMusicDirectory error response`() {
|
||||
val response = checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getMusicDirectory(1).execute()
|
||||
})
|
||||
|
||||
with(response.musicDirectory) {
|
||||
this `should not be` null
|
||||
id `should equal to` -1L
|
||||
parent `should equal to` -1L
|
||||
name `should equal to` ""
|
||||
userRating `should equal to` 0
|
||||
averageRating `should equal to` 0.0f
|
||||
starred `should be` null
|
||||
playCount `should equal to` 0
|
||||
childList `should be` emptyList<MusicDirectoryChild>()
|
||||
}
|
||||
|
||||
response.musicDirectory `should not be` null
|
||||
response.musicDirectory `should equal` MusicDirectory()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `GetMusicDirectory should add directory id to query params`() {
|
||||
mockWebServerRule.enqueueResponse("get_music_directory_ok.json")
|
||||
val directoryId = 124L
|
||||
|
||||
client.api.getMusicDirectory(directoryId).execute()
|
||||
|
||||
mockWebServerRule.mockWebServer.takeRequest().requestLine `should contain` "id=$directoryId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_music_directory_ok.json",
|
||||
expectedParam = "id=$directoryId") {
|
||||
client.api.getMusicDirectory(directoryId).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -23,9 +23,9 @@ class SubsonicApiGetMusicFoldersTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should parse get music folders error response`() {
|
||||
val response = checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getMusicFolders().execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.musicFolders `should equal` emptyList()
|
||||
}
|
||||
|
@ -2,8 +2,10 @@ package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
import org.moire.ultrasonic.api.subsonic.models.Playlist
|
||||
|
||||
/**
|
||||
* Integration test for [SubsonicAPIClient] for getPlaylist call.
|
||||
@ -11,9 +13,12 @@ import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
class SubsonicApiGetPlaylistTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse error response`() {
|
||||
checkErrorCallParsed(mockWebServerRule) {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.getPlaylist(10).execute()
|
||||
}
|
||||
|
||||
response.playlist `should not be` null
|
||||
response.playlist `should equal` Playlist()
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -49,9 +54,10 @@ class SubsonicApiGetPlaylistTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should pass id as request param`() {
|
||||
val playlistId = 453L
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "get_playlist_ok.json",
|
||||
apiRequest = {
|
||||
client.api.getPlaylist(playlistId).execute()
|
||||
}, expectedParam = "id=$playlistId")
|
||||
expectedParam = "id=$playlistId") {
|
||||
client.api.getPlaylist(playlistId).execute()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ class SubsonicApiPingRequestTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should parse ping error response`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.ping().execute()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,11 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
import org.moire.ultrasonic.api.subsonic.models.SearchResult
|
||||
import java.util.Calendar
|
||||
|
||||
/**
|
||||
@ -13,14 +14,17 @@ import java.util.Calendar
|
||||
class SubsonicApiSearchTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse error response`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.search().execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.searchResult `should not be` null
|
||||
response.searchResult `should equal` SearchResult()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should parse ok response`() {
|
||||
enqueueOkResponse()
|
||||
mockWebServerRule.enqueueResponse("search_ok.json")
|
||||
|
||||
val response = client.api.search().execute()
|
||||
|
||||
@ -44,82 +48,71 @@ class SubsonicApiSearchTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should pass artist param`() {
|
||||
enqueueOkResponse()
|
||||
val artist = "some-artist"
|
||||
client.api.search(artist = artist).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "artist=$artist"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "artist=$artist") {
|
||||
client.api.search(artist = artist).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass album param`() {
|
||||
enqueueOkResponse()
|
||||
val album = "some-album"
|
||||
client.api.search(album = album).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "album=$album"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "album=$album") {
|
||||
client.api.search(album = album).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass title param`() {
|
||||
enqueueOkResponse()
|
||||
val title = "some-title"
|
||||
client.api.search(title = title).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "title=$title"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "title=$title") {
|
||||
client.api.search(title = title).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should contain any param`() {
|
||||
enqueueOkResponse()
|
||||
val any = "AnyString"
|
||||
client.api.search(any = any).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "any=$any"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "any=$any") {
|
||||
client.api.search(any = any).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should contain count param`() {
|
||||
enqueueOkResponse()
|
||||
val count = 11
|
||||
client.api.search(count = count).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "count=$count"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "count=$count") {
|
||||
client.api.search(count = count).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should contain offset param`() {
|
||||
enqueueOkResponse()
|
||||
val offset = 54
|
||||
client.api.search(offset = offset).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "offset=$offset"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "offset=$offset") {
|
||||
client.api.search(offset = offset).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should contain newerThan param`() {
|
||||
enqueueOkResponse()
|
||||
val newerThan = Calendar.getInstance()
|
||||
client.api.search(newerThan = newerThan.time.time).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "newerThan=${newerThan.time.time}"
|
||||
}
|
||||
|
||||
private fun enqueueOkResponse() {
|
||||
mockWebServerRule.enqueueResponse("search_ok.json")
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search_ok.json",
|
||||
expectedParam = "newerThan=${newerThan.time.time}") {
|
||||
client.api.search(newerThan = newerThan.time.time).execute()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,12 @@ package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.Album
|
||||
import org.moire.ultrasonic.api.subsonic.models.Artist
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
import org.moire.ultrasonic.api.subsonic.models.SearchThreeResult
|
||||
|
||||
/**
|
||||
* Integration test for [SubsonicAPIClient] for search3 call.
|
||||
@ -13,9 +15,12 @@ import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
class SubsonicApiSearchThreeTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should parse error response`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.search3("some-query").execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.searchResult `should not be` null
|
||||
response.searchResult `should equal` SearchThreeResult()
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -60,53 +65,59 @@ class SubsonicApiSearchThreeTest : SubsonicAPIClientTest() {
|
||||
fun `Should pass artist count as request param`() {
|
||||
val artistCount = 67
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json",
|
||||
expectedParam = "artistCount=$artistCount") {
|
||||
client.api.search3("some", artistCount = artistCount).execute()
|
||||
}, expectedParam = "artistCount=$artistCount")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass artist offset as request param`() {
|
||||
val artistOffset = 34
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json",
|
||||
expectedParam = "artistOffset=$artistOffset") {
|
||||
client.api.search3("some", artistOffset = artistOffset).execute()
|
||||
}, expectedParam = "artistOffset=$artistOffset")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass album count as request param`() {
|
||||
val albumCount = 21
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json",
|
||||
expectedParam = "albumCount=$albumCount") {
|
||||
client.api.search3("some", albumCount = albumCount).execute()
|
||||
}, expectedParam = "albumCount=$albumCount")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass album offset as request param`() {
|
||||
val albumOffset = 43
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json",
|
||||
expectedParam = "albumOffset=$albumOffset") {
|
||||
client.api.search3("some", albumOffset = albumOffset).execute()
|
||||
}, expectedParam = "albumOffset=$albumOffset")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass song count as request param`() {
|
||||
val songCount = 15
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json",
|
||||
expectedParam = "songCount=$songCount") {
|
||||
client.api.search3("some", songCount = songCount).execute()
|
||||
}, expectedParam = "songCount=$songCount")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass music folder id as request param`() {
|
||||
val musicFolderId = 43L
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search3_ok.json",
|
||||
expectedParam = "musicFolderId=$musicFolderId") {
|
||||
client.api.search3("some", musicFolderId = musicFolderId).execute()
|
||||
}, expectedParam = "musicFolderId=$musicFolderId")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,9 +2,11 @@ package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should equal to`
|
||||
import org.amshove.kluent.`should equal`
|
||||
import org.amshove.kluent.`should not be`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.models.Artist
|
||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
import org.moire.ultrasonic.api.subsonic.models.SearchTwoResult
|
||||
|
||||
/**
|
||||
* Integration test for [SubsonicAPIClient] for search2 call.
|
||||
@ -12,9 +14,12 @@ import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||
class SubsonicApiSearchTwoTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
fun `Should handle error response`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
val response = checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.search2("some-query").execute()
|
||||
})
|
||||
}
|
||||
|
||||
response.searchResult `should not be` null
|
||||
response.searchResult `should equal` SearchTwoResult()
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -50,62 +55,69 @@ class SubsonicApiSearchTwoTest : SubsonicAPIClientTest() {
|
||||
fun `Should pass query id in request param`() {
|
||||
val query = "some"
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "query=$query") {
|
||||
client.api.search2(query).execute()
|
||||
}, expectedParam = "query=$query")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass artist count in request param`() {
|
||||
val artistCount = 45
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "artistCount=$artistCount") {
|
||||
client.api.search2("some", artistCount = artistCount).execute()
|
||||
}, expectedParam = "artistCount=$artistCount")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass artist offset in request param`() {
|
||||
val artistOffset = 13
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "artistOffset=$artistOffset") {
|
||||
client.api.search2("some", artistOffset = artistOffset).execute()
|
||||
}, expectedParam = "artistOffset=$artistOffset")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass album count in request param`() {
|
||||
val albumCount = 30
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "albumCount=$albumCount") {
|
||||
client.api.search2("some", albumCount = albumCount).execute()
|
||||
}, expectedParam = "albumCount=$albumCount")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass album offset in request param`() {
|
||||
val albumOffset = 91
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "albumOffset=$albumOffset") {
|
||||
client.api.search2("some", albumOffset = albumOffset).execute()
|
||||
}, expectedParam = "albumOffset=$albumOffset")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass song count in request param`() {
|
||||
val songCount = 22
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "songCount=$songCount") {
|
||||
client.api.search2("some", songCount = songCount).execute()
|
||||
}, expectedParam = "songCount=$songCount")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass music folder id in request param`() {
|
||||
val musicFolderId = 565L
|
||||
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json", apiRequest = {
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "search2_ok.json",
|
||||
expectedParam = "musicFolderId=$musicFolderId") {
|
||||
client.api.search2("some", musicFolderId = musicFolderId).execute()
|
||||
}, expectedParam = "musicFolderId=$musicFolderId")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should be`
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.response.SubsonicResponse
|
||||
|
||||
@ -21,41 +20,38 @@ class SubsonicApiStarTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should parse star error response`() {
|
||||
checkErrorCallParsed(mockWebServerRule, {
|
||||
checkErrorCallParsed(mockWebServerRule) {
|
||||
client.api.star().execute()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass id param`() {
|
||||
mockWebServerRule.enqueueResponse("ping_ok.json")
|
||||
val id = 110L
|
||||
client.api.star(id = id).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "id=$id"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "ping_ok.json",
|
||||
expectedParam = "id=$id") {
|
||||
client.api.star(id = id).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass artist id param`() {
|
||||
mockWebServerRule.enqueueResponse("ping_ok.json")
|
||||
val artistId = 123L
|
||||
client.api.star(artistId = artistId).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "artistId=$artistId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "ping_ok.json",
|
||||
expectedParam = "artistId=$artistId") {
|
||||
client.api.star(artistId = artistId).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass albom id param`() {
|
||||
mockWebServerRule.enqueueResponse("ping_ok.json")
|
||||
fun `Should pass album id param`() {
|
||||
val albumId = 1001L
|
||||
client.api.star(albumId = albumId).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "albumId=$albumId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "ping_ok.json",
|
||||
expectedParam = "albumId=$albumId") {
|
||||
client.api.star(albumId = albumId).execute()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,11 @@
|
||||
package org.moire.ultrasonic.api.subsonic
|
||||
|
||||
import org.amshove.kluent.`should be`
|
||||
import org.amshove.kluent.`should contain`
|
||||
import org.junit.Test
|
||||
import org.moire.ultrasonic.api.subsonic.response.SubsonicResponse
|
||||
|
||||
/**
|
||||
* Intergration test for [SubsonicAPIClient] for unstar call.
|
||||
* Integration test for [SubsonicAPIClient] for unstar call.
|
||||
*/
|
||||
class SubsonicApiUnstarTest : SubsonicAPIClientTest() {
|
||||
@Test
|
||||
@ -28,34 +27,31 @@ class SubsonicApiUnstarTest : SubsonicAPIClientTest() {
|
||||
|
||||
@Test
|
||||
fun `Should pass id param`() {
|
||||
mockWebServerRule.enqueueResponse("ping_ok.json")
|
||||
val id = 545L
|
||||
client.api.unstar(id = id).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "id=$id"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "ping_ok.json",
|
||||
expectedParam = "id=$id") {
|
||||
client.api.unstar(id = id).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass artistId param`() {
|
||||
mockWebServerRule.enqueueResponse("ping_ok.json")
|
||||
val artistId = 644L
|
||||
client.api.unstar(artistId = artistId).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "artistId=$artistId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "ping_ok.json",
|
||||
expectedParam = "artistId=$artistId") {
|
||||
client.api.unstar(artistId = artistId).execute()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Should pass albumId param`() {
|
||||
mockWebServerRule.enqueueResponse("ping_ok.json")
|
||||
val albumId = 3344L
|
||||
client.api.unstar(albumId = albumId).execute()
|
||||
|
||||
val request = mockWebServerRule.mockWebServer.takeRequest()
|
||||
|
||||
request.requestLine `should contain` "albumId=$albumId"
|
||||
mockWebServerRule.assertRequestParam(responseResourceName = "ping_ok.json",
|
||||
expectedParam = "albumId=$albumId") {
|
||||
client.api.unstar(albumId = albumId).execute()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user