messenger-android

Android graphical user interfaces for GNUnet Messenger
Log | Files | Refs | README | LICENSE

GnunetChatMockTest.kt (5171B)


      1 package org.gnunet.gnunetmessenger.service.mock
      2 
      3 import org.gnunet.gnunetmessenger.model.ChatHandle
      4 import org.gnunet.gnunetmessenger.model.ChatContext
      5 import org.gnunet.gnunetmessenger.model.ChatMessage
      6 import org.gnunet.gnunetmessenger.model.MessageKind
      7 import org.gnunet.gnunetmessenger.model.ChatUri
      8 import org.gnunet.gnunetmessenger.model.GnunetReturnValue
      9 import org.gnunet.gnunetmessenger.model.ChatContact
     10 import org.gnunet.gnunetmessenger.model.ChatGroup
     11 import org.junit.Assert.assertEquals
     12 import org.junit.Test
     13 
     14 class GnunetChatMockTest {
     15 
     16     @Test
     17     fun iterateAccountsReturnsTheHardcodedAccountNames() {
     18         val mock = GnunetChatMock()
     19 
     20         val fakeHandle = ChatHandle(1)
     21 
     22         val resultingNames = mutableListOf<String>()
     23 
     24         mock.iterateAccounts(fakeHandle) { account ->
     25             resultingNames.add(account.name)
     26         }
     27 
     28         val expectedNames = listOf("Alice", "Bob", "Charlie")
     29 
     30         assertEquals(3, resultingNames.size)
     31         assertEquals(expectedNames, resultingNames)
     32     }
     33 
     34     @Test
     35     fun getMessageTimestampReturnsTheHardcodedTimestamp() {
     36         val mock = GnunetChatMock()
     37 
     38         val fakeMessage = ChatMessage(ChatContext(null, null, false, false), "", 0, null, MessageKind.TEXT, null)
     39         val resultTimestamp = mock.getMessageTimestamp(fakeMessage)
     40 
     41         assertEquals(123456789L, resultTimestamp)
     42     }
     43 
     44     @Test
     45     fun parseUriReturnsAChatUriObjectWithTheCorrectUri() {
     46         val mock = GnunetChatMock()
     47         val testUriString = "gnunet://example-uri/12345"
     48 
     49         val resultChatUri = mock.parseUri(testUriString)
     50 
     51         assertEquals(testUriString, resultChatUri.error)
     52     }
     53 
     54     @Test
     55     fun isMessageRecentAlwaysReturnsOk() {
     56         val mock = GnunetChatMock()
     57 
     58         val fakeMessage = ChatMessage(ChatContext(null, null, false, false), "", 0, null, MessageKind.TEXT, null)
     59 
     60         val result = mock.isMessageRecent(fakeMessage)
     61 
     62         assertEquals(GnunetReturnValue.OK, result)
     63     }
     64 
     65     @Test
     66     fun getMessageKindAlwaysReturnsText() {
     67         val mock = GnunetChatMock()
     68 
     69         val fakeMessage = ChatMessage(ChatContext(null, null, false, false), "", 0, null, MessageKind.TEXT, null)
     70 
     71         val result = mock.getMessageKind(fakeMessage)
     72 
     73         assertEquals(MessageKind.TEXT, result)
     74     }
     75 
     76     @Test
     77     fun destroyUriSetsTheLastDestroyedUriProperty() {
     78         val mock = GnunetChatMock()
     79         val fakeUri = ChatUri("gnunet://test-uri-to-destroy")
     80 
     81         mock.destroyUri(fakeUri)
     82 
     83         assertEquals(fakeUri, mock.lastDestroyedUri)
     84     }
     85 
     86     @Test
     87     fun getContactUserPointerReturnsAHardcodedString() {
     88         val mock = GnunetChatMock()
     89 
     90         val fakeContact = ChatContact(ChatContext(null, null, false, false), "")
     91 
     92         val result = mock.getContactUserPointer(fakeContact)
     93 
     94         assertEquals("fake-user-pointer-123", result)
     95     }
     96 
     97     @Test
     98     fun setContactUserPointerSetsTheLastSetUserPointerProperty() {
     99         val mock = GnunetChatMock()
    100         val fakeContact = ChatContact(ChatContext(null, null, false, false), "test-contact")
    101         val fakePointer = "test-pointer-456"
    102 
    103         mock.setContactUserPointer(fakeContact, fakePointer)
    104 
    105         assertEquals(Pair(fakeContact, fakePointer), mock.lastSetUserPointer)
    106     }
    107 
    108     @Test
    109     fun getGroupUserPointerReturnsAHardcodedString() {
    110         val mock = GnunetChatMock()
    111 
    112         val fakeGroup = ChatGroup(ChatContext(null, null, false, false), "")
    113 
    114         val result = mock.getGroupUserPointer(fakeGroup)
    115 
    116         assertEquals("fake-group-pointer-789", result)
    117     }
    118 
    119     @Test
    120     fun setGroupUserPointerSetsTheLastSetGroupPointerProperty() {
    121         val mock = GnunetChatMock()
    122         val fakeGroup = ChatGroup(ChatContext(null, null, false, false), "test-group")
    123         val fakePointer = "test-group-pointer-xyz"
    124 
    125         mock.setGroupUserPointer(fakeGroup, fakePointer)
    126 
    127         assertEquals(Pair(fakeGroup, fakePointer), mock.lastSetGroupPointer)
    128     }
    129 
    130     @Test
    131     fun getMessageForGroupContactReturnsAHardcodedChatMessage() {
    132 
    133         val mock = GnunetChatMock()
    134         val fakeGroup = ChatGroup(ChatContext(null, null, false, false), "test-group")
    135         val fakeContact = ChatContact(ChatContext(null, null, false, false), "test-contact")
    136 
    137         val resultMessage = mock.getMessageForGroupContact(fakeGroup, fakeContact)
    138 
    139         assertEquals("fake-message-for-group", resultMessage.text)
    140         assertEquals(MessageKind.TEXT, resultMessage.kind)
    141         assertEquals(fakeContact, resultMessage.sender) // Check it attached the contact
    142     }
    143 
    144     @Test
    145     fun setMessageForGroupContactSetsTheLastSetMessageForGroupContactProperty() {
    146         val mock = GnunetChatMock()
    147         val fakeGroup = ChatGroup(ChatContext(null, null, false, false), "test-group")
    148         val fakeContact = ChatContact(ChatContext(null, null, false, false), "test-contact")
    149         val fakeMessage = ChatMessage(ChatContext(null, null, false, false), "test-msg", 0, null, MessageKind.TEXT, null)
    150 
    151 
    152         mock.setMessageForGroupContact(fakeGroup, fakeContact, fakeMessage)
    153 
    154         assertEquals(Triple(fakeGroup, fakeContact, fakeMessage), mock.lastSetMessageForGroupContact)
    155     }
    156 }