briar-headless: Add endpoint for removing a contact

This commit is contained in:
Torsten Grote
2018-10-24 12:12:33 -03:00
parent 822597b4c6
commit 51209b5eec
6 changed files with 75 additions and 9 deletions

View File

@@ -1,10 +1,16 @@
package org.briarproject.briar.headless.contact
import io.javalin.NotFoundResponse
import io.javalin.json.JavalinJson.toJson
import io.mockk.Runs
import io.mockk.every
import io.mockk.just
import org.briarproject.bramble.api.contact.Contact
import org.briarproject.bramble.api.contact.ContactId
import org.briarproject.bramble.api.db.NoSuchContactException
import org.briarproject.bramble.identity.output
import org.briarproject.briar.headless.ControllerTest
import org.junit.jupiter.api.Assertions.assertThrows
import org.junit.jupiter.api.Test
internal class ContactControllerTest : ControllerTest() {
@@ -25,6 +31,30 @@ internal class ContactControllerTest : ControllerTest() {
controller.list(ctx)
}
@Test
fun testDelete() {
every { ctx.pathParam("contactId") } returns "1"
every { contactManager.removeContact(ContactId(1)) } just Runs
controller.delete(ctx)
}
@Test
fun testDeleteInvalidContactId() {
every { ctx.pathParam("contactId") } returns "foo"
assertThrows(NotFoundResponse::class.java) {
controller.delete(ctx)
}
}
@Test
fun testDeleteNonexistentContactId() {
every { ctx.pathParam("contactId") } returns "1"
every { contactManager.removeContact(ContactId(1)) } throws NoSuchContactException()
assertThrows(NotFoundResponse::class.java) {
controller.delete(ctx)
}
}
@Test
fun testOutputContact() {
val json = """