1 package net.pterodactylus.sone.fcp
3 import net.pterodactylus.sone.core.Core
4 import net.pterodactylus.sone.test.whenever
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.equalTo
10 * Unit test for [GetLocalSonesCommand].
12 class GetLocalSonesCommandTest : SoneCommandTest() {
14 override fun createCommand(core: Core) = GetLocalSonesCommand(core)
17 fun `command does not require write access`() {
18 assertThat(command.requiresWriteAccess(), equalTo(false))
22 fun `command returns local sones`() {
23 val localSones = setOf(
24 createSone("Id1", "Name1", "First1", "Last1", 1000L),
25 createSone("Id2", "Name2", "First2", "Last2", 2000L)
27 whenever(core.localSones).thenReturn(localSones)
28 val response = command.execute(null)
29 val replyParameters = response.replyParameters
30 assertThat(replyParameters["Message"], equalTo("ListLocalSones"))
31 assertThat(replyParameters["LocalSones.Count"], equalTo("2"))
32 assertThat(replyParameters["LocalSones.0.ID"], equalTo("Id1"))
33 assertThat(replyParameters["LocalSones.0.Name"], equalTo("Name1"))
34 assertThat(replyParameters["LocalSones.0.NiceName"], equalTo("First1 Last1"))
35 assertThat(replyParameters["LocalSones.0.Time"], equalTo("1000"))
36 assertThat(replyParameters["LocalSones.1.ID"], equalTo("Id2"))
37 assertThat(replyParameters["LocalSones.1.Name"], equalTo("Name2"))
38 assertThat(replyParameters["LocalSones.1.NiceName"], equalTo("First2 Last2"))
39 assertThat(replyParameters["LocalSones.1.Time"], equalTo("2000"))