mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 11:19:04 +01:00
Merge branch '1779-headless-messages-sent-acked' into 'master'
Expose message delivery state changes to websockets API Closes #1779 See merge request briar/briar!1284
This commit is contained in:
@@ -10,11 +10,13 @@ import org.briarproject.bramble.api.db.NoSuchContactException
|
||||
import org.briarproject.bramble.api.identity.AuthorInfo
|
||||
import org.briarproject.bramble.api.identity.AuthorInfo.Status.UNVERIFIED
|
||||
import org.briarproject.bramble.api.identity.AuthorInfo.Status.VERIFIED
|
||||
import org.briarproject.bramble.api.sync.MessageId
|
||||
import org.briarproject.bramble.api.sync.event.MessagesAckedEvent
|
||||
import org.briarproject.bramble.api.sync.event.MessagesSentEvent
|
||||
import org.briarproject.bramble.test.ImmediateExecutor
|
||||
import org.briarproject.bramble.test.TestUtils.getRandomId
|
||||
import org.briarproject.bramble.util.StringUtils.getRandomString
|
||||
import org.briarproject.briar.api.client.SessionId
|
||||
import org.briarproject.briar.api.conversation.ConversationManager
|
||||
import org.briarproject.briar.api.introduction.IntroductionRequest
|
||||
import org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_TEXT_LENGTH
|
||||
import org.briarproject.briar.api.messaging.MessagingManager
|
||||
@@ -100,6 +102,40 @@ internal class MessagingControllerImplTest : ControllerTest() {
|
||||
testInvalidContactId { controller.list(ctx) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testMessagesAckedEvent() {
|
||||
val messageId1 = MessageId(getRandomId())
|
||||
val messageId2 = MessageId(getRandomId())
|
||||
val messageIds = listOf(messageId1, messageId2)
|
||||
val event = MessagesAckedEvent(contact.id, messageIds)
|
||||
|
||||
every {
|
||||
webSocketController.sendEvent(
|
||||
EVENT_MESSAGES_ACKED,
|
||||
event.output()
|
||||
)
|
||||
} just runs
|
||||
|
||||
controller.eventOccurred(event)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testMessagesSentEvent() {
|
||||
val messageId1 = MessageId(getRandomId())
|
||||
val messageId2 = MessageId(getRandomId())
|
||||
val messageIds = listOf(messageId1, messageId2)
|
||||
val event = MessagesSentEvent(contact.id, messageIds)
|
||||
|
||||
every {
|
||||
webSocketController.sendEvent(
|
||||
EVENT_MESSAGES_SENT,
|
||||
event.output()
|
||||
)
|
||||
} just runs
|
||||
|
||||
controller.eventOccurred(event)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun listNonexistentContactId() {
|
||||
testNonexistentContactId { controller.list(ctx) }
|
||||
@@ -177,6 +213,43 @@ internal class MessagingControllerImplTest : ControllerTest() {
|
||||
controller.eventOccurred(event)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testOutputMessagesAckedEvent() {
|
||||
val messageId1 = MessageId(getRandomId())
|
||||
val messageId2 = MessageId(getRandomId())
|
||||
val messageIds = listOf(messageId1, messageId2)
|
||||
val event = MessagesAckedEvent(contact.id, messageIds)
|
||||
val json = """
|
||||
{
|
||||
"contactId": ${contact.id.int},
|
||||
"messageIds": [
|
||||
${toJson(messageId1.bytes)},
|
||||
${toJson(messageId2.bytes)}
|
||||
]
|
||||
}
|
||||
"""
|
||||
assertJsonEquals(json, event.output())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testOutputMessagesSentEvent() {
|
||||
val messageId1 = MessageId(getRandomId())
|
||||
val messageId2 = MessageId(getRandomId())
|
||||
val messageIds = listOf(messageId1, messageId2)
|
||||
val event = MessagesSentEvent(contact.id, messageIds)
|
||||
|
||||
val json = """
|
||||
{
|
||||
"contactId": ${contact.id.int},
|
||||
"messageIds": [
|
||||
${toJson(messageId1.bytes)},
|
||||
${toJson(messageId2.bytes)}
|
||||
]
|
||||
}
|
||||
"""
|
||||
assertJsonEquals(json, event.output())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testOutputPrivateMessageHeader() {
|
||||
val json = """
|
||||
|
||||
Reference in New Issue
Block a user