You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AccountProcessorTest.kt 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.dmdirc.ktirc.messages
  2. import com.dmdirc.ktirc.TestConstants
  3. import com.dmdirc.ktirc.model.IrcMessage
  4. import com.dmdirc.ktirc.model.User
  5. import com.dmdirc.ktirc.util.currentTimeProvider
  6. import org.junit.jupiter.api.Assertions.assertEquals
  7. import org.junit.jupiter.api.BeforeEach
  8. import org.junit.jupiter.api.Test
  9. internal class AccountProcessorTest {
  10. @BeforeEach
  11. fun setUp() {
  12. currentTimeProvider = { TestConstants.time }
  13. }
  14. @Test
  15. fun `AccountProcessor raises account changed event with account name`() {
  16. val events = AccountProcessor().process(
  17. IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "ACCOUNT", listOf("acidBurn".toByteArray())))
  18. assertEquals(1, events.size)
  19. assertEquals(TestConstants.time, events[0].time)
  20. assertEquals(User("acidburn", "libby", "root.localhost"), events[0].user)
  21. assertEquals("acidBurn", events[0].newAccount)
  22. }
  23. @Test
  24. fun `AccountProcessor raises account changed event when account removed`() {
  25. val events = AccountProcessor().process(
  26. IrcMessage(emptyMap(), "acidburn!libby@root.localhost".toByteArray(), "ACCOUNT", listOf("*".toByteArray())))
  27. assertEquals(1, events.size)
  28. assertEquals(TestConstants.time, events[0].time)
  29. assertEquals(User("acidburn", "libby", "root.localhost"), events[0].user)
  30. assertEquals(null, events[0].newAccount)
  31. }
  32. @Test
  33. fun `AccountProcessor does nothing if prefix missing`() {
  34. val events = AccountProcessor().process(
  35. IrcMessage(emptyMap(), null, "ACCOUNT", listOf("*".toByteArray())))
  36. assertEquals(0, events.size)
  37. }
  38. }