From 437877750c0086815c3906d905cc9eb0640ec575 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Fri, 11 Aug 2017 21:01:02 +0200 Subject: [PATCH] Make models for getIndexes have default values. Signed-off-by: Yahor Berdnikau --- .../ultrasonic/api/subsonic/SubsonicAPIClientTest.kt | 12 +++++++++--- .../moire/ultrasonic/api/subsonic/models/Artist.kt | 4 ++-- .../moire/ultrasonic/api/subsonic/models/Index.kt | 4 ++-- .../moire/ultrasonic/api/subsonic/models/Indexes.kt | 8 ++++---- .../api/subsonic/response/GetIndexesResponse.kt | 2 +- 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt index 0ef9c981..b8ee2385 100644 --- a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt +++ b/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt @@ -161,10 +161,10 @@ class SubsonicAPIClientTest { assertResponseSuccessful(response) response.body().indexes `should not be` null - with(response.body().indexes!!) { + with(response.body().indexes) { lastModified `should equal` 1491069027523 ignoredArticles `should equal` "The El La Los Las Le Les" - shortcuts `should be` null + shortcuts `should be` emptyList() indexList `should equal` mutableListOf( Index("A", listOf( Artist(50L, "Ace Of Base", parseDate("2017-04-02T20:16:29.815Z")), @@ -220,7 +220,13 @@ class SubsonicAPIClientTest { fun `Should parse get indexes error response`() { val response = checkErrorCallParsed { client.api.getIndexes(null, null).execute() } - response.indexes `should be` null + response.indexes `should not be` null + with(response.indexes) { + lastModified `should equal to` 0 + ignoredArticles `should equal to` "" + indexList.size `should equal to` 0 + shortcuts.size `should equal to` 0 + } } @Test diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt index 47210bb5..f0388e09 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt @@ -2,6 +2,6 @@ package org.moire.ultrasonic.api.subsonic.models import java.util.Calendar -data class Artist(val id: Long, - val name: String, +data class Artist(val id: Long = -1, + val name: String = "", val starred: Calendar?) diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt index 4a31bdec..9d25ce4b 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt @@ -2,6 +2,6 @@ package org.moire.ultrasonic.api.subsonic.models import com.fasterxml.jackson.annotation.JsonProperty -data class Index(val name: String, +data class Index(val name: String = "", @JsonProperty("artist") - val artists: List) + val artists: List = emptyList()) diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt index 963aea4f..ae889d6a 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt @@ -2,8 +2,8 @@ package org.moire.ultrasonic.api.subsonic.models import com.fasterxml.jackson.annotation.JsonProperty -data class Indexes(val lastModified: Long, - val ignoredArticles: String?, +data class Indexes(val lastModified: Long = 0, + val ignoredArticles: String = "", @JsonProperty("index") - val indexList: List, - val shortcuts: List?) + val indexList: List = emptyList(), + val shortcuts: List = emptyList()) diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt index 331f147f..c5f5bb7e 100644 --- a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt +++ b/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt @@ -7,5 +7,5 @@ import org.moire.ultrasonic.api.subsonic.models.Indexes class GetIndexesResponse(status: Status, version: SubsonicAPIVersions, error: SubsonicError?, - val indexes: Indexes?) : + val indexes: Indexes = Indexes()) : SubsonicResponse(status, version, error)