Replace getJoke() and getJokes with joke() and jokes() [Breaking]
This commit is contained in:
parent
9b0063dd9c
commit
cd83485c64
15 changed files with 77 additions and 73 deletions
|
@ -103,7 +103,7 @@ object JokeApi {
|
|||
@JvmStatic
|
||||
@Throws(HttpErrorException::class)
|
||||
fun getRawJokes(config: JokeConfig): String {
|
||||
return getRawJokes(
|
||||
return rawJokes(
|
||||
categories = config.categories,
|
||||
lang = config.language,
|
||||
blacklistFlags = config.flags,
|
||||
|
@ -125,8 +125,8 @@ object JokeApi {
|
|||
@JvmStatic
|
||||
@JvmOverloads
|
||||
@Throws(HttpErrorException::class, JokeException::class)
|
||||
fun getJoke(config: JokeConfig = JokeConfig.Builder().build()): Joke {
|
||||
return getJoke(
|
||||
fun joke(config: JokeConfig = JokeConfig.Builder().build()): Joke {
|
||||
return joke(
|
||||
categories = config.categories,
|
||||
lang = config.language,
|
||||
blacklistFlags = config.flags,
|
||||
|
@ -146,8 +146,8 @@ object JokeApi {
|
|||
*/
|
||||
@JvmStatic
|
||||
@Throws(HttpErrorException::class, JokeException::class)
|
||||
fun getJokes(config: JokeConfig): Array<Joke> {
|
||||
return getJokes(
|
||||
fun jokes(config: JokeConfig): Array<Joke> {
|
||||
return jokes(
|
||||
categories = config.categories,
|
||||
lang = config.language,
|
||||
blacklistFlags = config.flags,
|
||||
|
@ -170,7 +170,7 @@ object JokeApi {
|
|||
*
|
||||
* @param splitNewLine Split newline within [Type.SINGLE] joke.
|
||||
*/
|
||||
fun getJoke(
|
||||
fun joke(
|
||||
categories: Set<Category> = setOf(Category.ANY),
|
||||
lang: Language = Language.EN,
|
||||
blacklistFlags: Set<Flag> = emptySet(),
|
||||
|
@ -182,7 +182,7 @@ fun getJoke(
|
|||
splitNewLine: Boolean = false
|
||||
): Joke {
|
||||
val json = JSONObject(
|
||||
getRawJokes(
|
||||
rawJokes(
|
||||
categories = categories,
|
||||
lang = lang,
|
||||
blacklistFlags = blacklistFlags,
|
||||
|
@ -208,7 +208,7 @@ fun getJoke(
|
|||
* @param amount The required amount of jokes to return.
|
||||
* @param splitNewLine Split newline within [Type.SINGLE] joke.
|
||||
*/
|
||||
fun getJokes(
|
||||
fun jokes(
|
||||
amount: Int,
|
||||
categories: Set<Category> = setOf(Category.ANY),
|
||||
lang: Language = Language.EN,
|
||||
|
@ -221,7 +221,7 @@ fun getJokes(
|
|||
splitNewLine: Boolean = false
|
||||
): Array<Joke> {
|
||||
val json = JSONObject(
|
||||
getRawJokes(
|
||||
rawJokes(
|
||||
categories = categories,
|
||||
lang = lang,
|
||||
blacklistFlags = blacklistFlags,
|
||||
|
@ -250,7 +250,7 @@ fun getJokes(
|
|||
*
|
||||
* Sse the [JokeAPI Documentation](https://jokeapi.dev/#joke-endpoint) for more details.
|
||||
*/
|
||||
fun getRawJokes(
|
||||
fun rawJokes(
|
||||
categories: Set<Category> = setOf(Category.ANY),
|
||||
lang: Language = Language.EN,
|
||||
blacklistFlags: Set<Flag> = emptySet(),
|
||||
|
|
|
@ -58,10 +58,10 @@ internal class ExceptionsTest {
|
|||
@Test
|
||||
fun `Validate Joke Exception`() {
|
||||
val e = assertThrows<JokeException> {
|
||||
getJoke(categories = setOf(Category.CHRISTMAS), contains = "foo")
|
||||
joke(categories = setOf(Category.CHRISTMAS), contains = "foo")
|
||||
}
|
||||
logger.fine(e.debug())
|
||||
assertThat(e, "getJoke(${Category.CHRISTMAS},foo)").all {
|
||||
assertThat(e, "joke(${Category.CHRISTMAS},foo)").all {
|
||||
prop(JokeException::code).isEqualTo(106)
|
||||
prop(JokeException::internalError).isFalse()
|
||||
prop(JokeException::message).isEqualTo("No matching joke found")
|
||||
|
|
|
@ -64,9 +64,9 @@ import org.junit.jupiter.api.extension.ExtendWith
|
|||
internal class GetJokeTest {
|
||||
@Test
|
||||
fun `Get Joke`() {
|
||||
val joke = getJoke()
|
||||
val joke = joke()
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "getJoke()").all {
|
||||
assertThat(joke, "joke()").all {
|
||||
prop(Joke::joke).isNotEmpty()
|
||||
prop(Joke::type).isIn(Type.SINGLE, Type.TWOPART)
|
||||
prop(Joke::id).isGreaterThanOrEqualTo(0)
|
||||
|
@ -76,23 +76,23 @@ internal class GetJokeTest {
|
|||
|
||||
@Test
|
||||
fun `Get Joke without Blacklist Flags`() {
|
||||
val joke = getJoke(blacklistFlags = setOf(Flag.ALL))
|
||||
val joke = joke(blacklistFlags = setOf(Flag.ALL))
|
||||
assertThat(joke::flags).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Joke without any Blacklist Flags`() {
|
||||
val allFlags = Flag.values().filter { it != Flag.ALL }.toSet()
|
||||
val joke = getJoke(blacklistFlags = allFlags)
|
||||
val joke = joke(blacklistFlags = allFlags)
|
||||
assertThat(joke::flags).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Joke with ID`() {
|
||||
val id = 172
|
||||
val joke = getJoke(idRange = IdRange(id))
|
||||
val joke = joke(idRange = IdRange(id))
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "getJoke($id)").all {
|
||||
assertThat(joke, "joke($id)").all {
|
||||
prop(Joke::flags).all {
|
||||
contains(Flag.EXPLICIT)
|
||||
contains(Flag.NSFW)
|
||||
|
@ -105,7 +105,7 @@ internal class GetJokeTest {
|
|||
@Test
|
||||
fun `Get Joke with ID Range`() {
|
||||
val idRange = IdRange(1, 100)
|
||||
val joke = getJoke(idRange = idRange)
|
||||
val joke = joke(idRange = idRange)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke::id).isBetween(idRange.start, idRange.end)
|
||||
}
|
||||
|
@ -113,24 +113,24 @@ internal class GetJokeTest {
|
|||
@Test
|
||||
fun `Get Joke with invalid ID Range`() {
|
||||
val idRange = IdRange(100, 1)
|
||||
val e = assertThrows<IllegalArgumentException> { getJoke(idRange = idRange, lang = Language.DE) }
|
||||
val e = assertThrows<IllegalArgumentException> { joke(idRange = idRange, lang = Language.DE) }
|
||||
assertThat(e::message).isNotNull().contains("100, 1")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Joke with max ID Range`() {
|
||||
val idRange = IdRange(1, 30000)
|
||||
val e = assertThrows<JokeException> { getJoke(idRange = idRange) }
|
||||
assertThat(e, "getJoke{${idRange})").all {
|
||||
val e = assertThrows<JokeException> { joke(idRange = idRange) }
|
||||
assertThat(e, "joke{${idRange})").all {
|
||||
prop(JokeException::additionalInfo).contains("ID range")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Joke with two Categories`() {
|
||||
val joke = getJoke(categories = setOf(Category.PROGRAMMING, Category.MISC))
|
||||
val joke = joke(categories = setOf(Category.PROGRAMMING, Category.MISC))
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke.category, "getJoke(${Category.PROGRAMMING},${Category.MISC})").isIn(
|
||||
assertThat(joke.category, "joke(${Category.PROGRAMMING},${Category.MISC})").isIn(
|
||||
Category.PROGRAMMING,
|
||||
Category.MISC
|
||||
)
|
||||
|
@ -139,28 +139,28 @@ internal class GetJokeTest {
|
|||
@Test
|
||||
fun `Get Joke with each Categories`() {
|
||||
Category.values().filter { it != Category.ANY }.forEach {
|
||||
val joke = getJoke(categories = setOf(it))
|
||||
val joke = joke(categories = setOf(it))
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke::category, "getJoke($it)").prop(Category::value).isEqualTo(it.value)
|
||||
assertThat(joke::category, "joke($it)").prop(Category::value).isEqualTo(it.value)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Joke with each Languages`() {
|
||||
Language.values().forEach {
|
||||
val joke = getJoke(lang = it)
|
||||
val joke = joke(lang = it)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke::lang, "getJoke($it)").prop(Language::value).isEqualTo(it.value)
|
||||
assertThat(joke::lang, "joke($it)").prop(Language::value).isEqualTo(it.value)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Joke with Split Newline`() {
|
||||
val joke = getJoke(
|
||||
val joke = joke(
|
||||
categories = setOf(Category.DARK), type = Type.SINGLE, idRange = IdRange(178), splitNewLine = true
|
||||
)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke::joke, "getJoke(splitNewLine=true)").all {
|
||||
assertThat(joke::joke, "joke(splitNewLine=true)").all {
|
||||
size().isEqualTo(2)
|
||||
each {
|
||||
containsNone("\n")
|
||||
|
@ -170,25 +170,25 @@ internal class GetJokeTest {
|
|||
|
||||
@Test
|
||||
fun `Get Safe Joke`() {
|
||||
val joke = getJoke(safe = true)
|
||||
val joke = joke(safe = true)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "getJoke(safe)").all {
|
||||
assertThat(joke, "joke(safe)").all {
|
||||
prop(Joke::safe).isTrue()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Single Joke`() {
|
||||
val joke = getJoke(type = Type.SINGLE)
|
||||
val joke = joke(type = Type.SINGLE)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke::type).assertThat(Type.SINGLE)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Two-Parts Joke`() {
|
||||
val joke = getJoke(type = Type.TWOPART)
|
||||
val joke = joke(type = Type.TWOPART)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "getJoke(${Type.TWOPART})").all {
|
||||
assertThat(joke, "joke(${Type.TWOPART})").all {
|
||||
prop(Joke::type).isEqualTo(Type.TWOPART)
|
||||
prop(Joke::joke).size().isGreaterThan(1)
|
||||
}
|
||||
|
@ -199,9 +199,9 @@ internal class GetJokeTest {
|
|||
val id = 265
|
||||
val search = "his wife"
|
||||
val joke =
|
||||
getJoke(contains = search, categories = setOf(Category.PROGRAMMING), idRange = IdRange(id), safe = true)
|
||||
joke(contains = search, categories = setOf(Category.PROGRAMMING), idRange = IdRange(id), safe = true)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "getJoke($search)").all {
|
||||
assertThat(joke, "joke($search)").all {
|
||||
prop(Joke::id).isEqualTo(id)
|
||||
prop(Joke::joke).any {
|
||||
it.contains(search)
|
||||
|
|
|
@ -53,7 +53,7 @@ internal class GetJokesTest {
|
|||
@Test
|
||||
fun `Get Multiple Jokes`() {
|
||||
val amount = 2
|
||||
val jokes = getJokes(amount = amount, safe = true, lang = Language.FR)
|
||||
val jokes = jokes(amount = amount, safe = true, lang = Language.FR)
|
||||
assertThat(jokes, "jokes").all {
|
||||
size().isEqualTo(amount)
|
||||
each {
|
||||
|
@ -66,13 +66,13 @@ internal class GetJokesTest {
|
|||
|
||||
@Test
|
||||
fun `Get Jokes with Invalid Amount`() {
|
||||
val e = assertThrows<IllegalArgumentException> { getJokes(amount = -1) }
|
||||
val e = assertThrows<IllegalArgumentException> { jokes(amount = -1) }
|
||||
assertThat(e::message).isNotNull().contains("-1")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get One Joke as Multiple`() {
|
||||
val jokes = getJokes(amount = 1, safe = true)
|
||||
val jokes = jokes(amount = 1, safe = true)
|
||||
assertThat(jokes, "jokes").all {
|
||||
size().isEqualTo(1)
|
||||
index(0).all {
|
||||
|
|
|
@ -46,8 +46,8 @@ import kotlin.test.assertContains
|
|||
internal class GetRawJokesTest {
|
||||
@Test
|
||||
fun `Get Raw Joke with TXT`() {
|
||||
val response = getRawJokes(format = Format.TXT)
|
||||
assertThat(response, "getRawJoke(txt)").all {
|
||||
val response = rawJokes(format = Format.TXT)
|
||||
assertThat(response, "rawJoke(txt)").all {
|
||||
isNotEmpty()
|
||||
doesNotContain("Error")
|
||||
}
|
||||
|
@ -55,25 +55,25 @@ internal class GetRawJokesTest {
|
|||
|
||||
@Test
|
||||
fun `Get Raw Joke with XML`() {
|
||||
val response = getRawJokes(format = Format.XML)
|
||||
assertThat(response, "getRawJoke(xml)").startsWith("<?xml version='1.0'?>\n<data>\n <error>false</error>")
|
||||
val response = rawJokes(format = Format.XML)
|
||||
assertThat(response, "rawJoke(xml)").startsWith("<?xml version='1.0'?>\n<data>\n <error>false</error>")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Raw Joke with YAML`() {
|
||||
val response = getRawJokes(format = Format.YAML)
|
||||
assertThat(response, "getRawJoke(yaml)").startsWith("error: false")
|
||||
val response = rawJokes(format = Format.YAML)
|
||||
assertThat(response, "rawJoke(yaml)").startsWith("error: false")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Raw Jokes`() {
|
||||
val response = getRawJokes(amount = 2)
|
||||
assertContains(response, "\"amount\": 2", false, "getRawJoke(2)")
|
||||
val response = rawJokes(amount = 2)
|
||||
assertContains(response, "\"amount\": 2", false, "rawJoke(2)")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Get Raw Invalid Jokes`() {
|
||||
val response = getRawJokes(contains = "foo", safe = true, amount = 2, idRange = IdRange(160, 161))
|
||||
val response = rawJokes(contains = "foo", safe = true, amount = 2, idRange = IdRange(160, 161))
|
||||
assertContains(response, "\"error\": true", false, "getRawJokes(foo)")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,8 +41,8 @@ import assertk.assertions.isGreaterThanOrEqualTo
|
|||
import assertk.assertions.isTrue
|
||||
import assertk.assertions.prop
|
||||
import assertk.assertions.size
|
||||
import net.thauvin.erik.jokeapi.JokeApi.getJoke
|
||||
import net.thauvin.erik.jokeapi.JokeApi.getJokes
|
||||
import net.thauvin.erik.jokeapi.JokeApi.joke
|
||||
import net.thauvin.erik.jokeapi.JokeApi.jokes
|
||||
import net.thauvin.erik.jokeapi.JokeApi.getRawJokes
|
||||
import net.thauvin.erik.jokeapi.JokeApi.logger
|
||||
import net.thauvin.erik.jokeapi.models.Category
|
||||
|
@ -60,7 +60,7 @@ import kotlin.test.assertContains
|
|||
internal class JokeConfigTest {
|
||||
@Test
|
||||
fun `Get Joke with Default Builder`() {
|
||||
val joke = getJoke()
|
||||
val joke = joke()
|
||||
assertThat(joke, "joke").all {
|
||||
prop(Joke::id).isGreaterThanOrEqualTo(0)
|
||||
prop(Joke::lang).isEqualTo(Language.EN)
|
||||
|
@ -78,7 +78,7 @@ internal class JokeConfigTest {
|
|||
idRange(IdRange(id - 2, id + 2))
|
||||
safe(true)
|
||||
}.build()
|
||||
val joke = getJoke(config)
|
||||
val joke = joke(config)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "config").all {
|
||||
prop(Joke::type).isEqualTo(Type.TWOPART)
|
||||
|
@ -98,7 +98,7 @@ internal class JokeConfigTest {
|
|||
idRange(IdRange(id))
|
||||
splitNewLine(true)
|
||||
}.build()
|
||||
val joke = getJoke(config)
|
||||
val joke = joke(config)
|
||||
logger.fine(joke.toString())
|
||||
assertThat(joke, "config").all {
|
||||
prop(Joke::id).isEqualTo(id)
|
||||
|
@ -127,7 +127,7 @@ internal class JokeConfigTest {
|
|||
safe(true)
|
||||
lang(Language.FR)
|
||||
}.build()
|
||||
val jokes = getJokes(config)
|
||||
val jokes = jokes(config)
|
||||
assertThat(jokes, "jokes").all {
|
||||
size().isEqualTo(amount)
|
||||
each {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue