From f61e2b399e42f476cabc3c55ee924e1a377ba053 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 20 Apr 2020 09:15:56 -0300 Subject: [PATCH] [headless] Fix unit tests by passing only timestamp into OutputContact --- .../headless/contact/ContactControllerImpl.kt | 3 ++- .../briar/headless/contact/OutputContact.kt | 7 ++----- .../headless/contact/ContactControllerTest.kt | 15 +++++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/contact/ContactControllerImpl.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/contact/ContactControllerImpl.kt index d925ed34a..70f7f6cb6 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/contact/ContactControllerImpl.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/contact/ContactControllerImpl.kt @@ -63,7 +63,8 @@ constructor( override fun list(ctx: Context): Context { val contacts = contactManager.contacts.map { contact -> - contact.output(conversationManager) + val latestMsgTime = conversationManager.getGroupCount(contact.id).latestMsgTime + contact.output(latestMsgTime) } return ctx.json(contacts) } diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/contact/OutputContact.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/contact/OutputContact.kt index 7b09aa3b1..9954edfda 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/contact/OutputContact.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/contact/OutputContact.kt @@ -6,19 +6,16 @@ import org.briarproject.bramble.identity.output import org.briarproject.briar.api.conversation.ConversationManager import org.briarproject.briar.headless.json.JsonDict -internal fun Contact.output(conversationManager: ConversationManager) = JsonDict( +internal fun Contact.output(latestMsgTime: Long) = JsonDict( "contactId" to id.int, "author" to author.output(), "verified" to isVerified, - "lastChatActivity" to this.getLastChatActivity(conversationManager) + "lastChatActivity" to latestMsgTime ).apply { alias?.let { put("alias", it) } handshakePublicKey?.let { put("handshakePublicKey", it.encoded) } } -internal fun Contact.getLastChatActivity(conversationManager: ConversationManager) = - conversationManager.getGroupCount(this.id).latestMsgTime - internal fun ContactAddedEvent.output() = JsonDict( "contactId" to contactId.int, "verified" to isVerified diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerTest.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerTest.kt index d28d9078c..3f3220d18 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerTest.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerTest.kt @@ -34,8 +34,12 @@ internal class ContactControllerTest : ControllerTest() { private val pendingContact = getPendingContact() - private val controller = - ContactControllerImpl(contactManager, conversationManager, objectMapper, webSocketController) + private val controller = ContactControllerImpl( + contactManager, + conversationManager, + objectMapper, + webSocketController + ) @Test fun testEmptyContactList() { @@ -48,7 +52,7 @@ internal class ContactControllerTest : ControllerTest() { fun testList() { every { contactManager.contacts } returns listOf(contact) every { conversationManager.getGroupCount(contact.id).latestMsgTime } returns timestamp - every { ctx.json(listOf(contact.output(conversationManager))) } returns ctx + every { ctx.json(listOf(contact.output(timestamp))) } returns ctx controller.list(ctx) } @@ -265,7 +269,6 @@ internal class ContactControllerTest : ControllerTest() { @Test fun testOutputContact() { - every { conversationManager.getGroupCount(contact.id).latestMsgTime } returns timestamp assertNotNull(contact.handshakePublicKey) val json = """ { @@ -274,10 +277,10 @@ internal class ContactControllerTest : ControllerTest() { "alias" : "${contact.alias}", "handshakePublicKey": ${toJson(contact.handshakePublicKey!!.encoded)}, "verified": ${contact.isVerified}, - "lastChatActivity": ${timestamp} + "lastChatActivity": $timestamp } """ - assertJsonEquals(json, contact.output(conversationManager)) + assertJsonEquals(json, contact.output(timestamp)) } @Test