import net.pterodactylus.sone.freenet.fcp.Command.AccessType.FULL_FCP
import net.pterodactylus.sone.freenet.fcp.Command.AccessType.RESTRICTED_FCP
import net.pterodactylus.sone.freenet.fcp.Command.Response
-import net.pterodactylus.sone.test.bindAs
import net.pterodactylus.sone.test.capture
+import net.pterodactylus.sone.test.isProvidedBy
import net.pterodactylus.sone.test.mock
import net.pterodactylus.sone.test.whenever
import org.hamcrest.MatcherAssert.assertThat
@Test
fun `fcp interface is instantiated as singleton`() {
- val injector = Guice.createInjector(core.bindAs(Core::class))
+ val injector = Guice.createInjector(Core::class.isProvidedBy(core))
assertThat(injector.getInstance(FcpInterface::class.java), sameInstance(injector.getInstance(FcpInterface::class.java)))
}
}
@Test
- fun `sending command to inactive fcp interface results in 400 error reply`() {
+ fun `sending command to inactive fcp interface results in 503 error reply`() {
fcpInterface.fcpInterfaceDeactivated(FcpInterfaceDeactivatedEvent())
+ parameters.putSingle("Identifier", "Test")
fcpInterface.handle(pluginReplySender, parameters, null, 0)
verify(pluginReplySender).send(replyParameters.capture())
assertThat(replyParameters.value["Message"], equalTo("Error"))
@Test
fun `sending command over non-authorized connection results in 401 error reply`() {
fcpInterface.fcpInterfaceActivated(FcpInterfaceActivatedEvent())
+ parameters.putSingle("Identifier", "Test")
parameters.putSingle("Message", "Working")
fcpInterface.handle(pluginReplySender, parameters, null, RESTRICTED_FCP.ordinal)
verify(pluginReplySender).send(replyParameters.capture())
@Test
fun `sending unknown command results in 404 error reply`() {
fcpInterface.fcpInterfaceActivated(FcpInterfaceActivatedEvent())
+ parameters.putSingle("Identifier", "Test")
fcpInterface.handle(pluginReplySender, parameters, null, RESTRICTED_FCP.ordinal)
verify(pluginReplySender).send(replyParameters.capture())
assertThat(replyParameters.value["Message"], equalTo("Error"))