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.

BatchProcessorTest.kt 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.dmdirc.ktirc.messages.processors
  2. import com.dmdirc.ktirc.TestConstants
  3. import com.dmdirc.ktirc.events.BatchFinished
  4. import com.dmdirc.ktirc.events.BatchStarted
  5. import com.dmdirc.ktirc.messages.processors.BatchProcessor
  6. import com.dmdirc.ktirc.model.IrcMessage
  7. import com.dmdirc.ktirc.params
  8. import com.dmdirc.ktirc.util.currentTimeProvider
  9. import org.junit.jupiter.api.Assertions.assertArrayEquals
  10. import org.junit.jupiter.api.Assertions.assertEquals
  11. import org.junit.jupiter.api.BeforeEach
  12. import org.junit.jupiter.api.Test
  13. internal class BatchProcessorTest {
  14. private var processor = BatchProcessor()
  15. @BeforeEach
  16. fun setUp() {
  17. currentTimeProvider = { TestConstants.time }
  18. }
  19. @Test
  20. fun `raises batch finished event when reference starts with a -`() {
  21. val events = processor.process(IrcMessage(emptyMap(), null, "BATCH", params("-mybatch")))
  22. assertEquals(1, events.size)
  23. val event = events[0] as BatchFinished
  24. assertEquals(TestConstants.time, event.metadata.time)
  25. assertEquals("mybatch", event.referenceId)
  26. }
  27. @Test
  28. fun `raises batch started event when reference starts with a +`() {
  29. val events = processor.process(IrcMessage(emptyMap(), null, "BATCH", params("+mybatch", "mytype", "arg1", "arg2")))
  30. assertEquals(1, events.size)
  31. val event = events[0] as BatchStarted
  32. assertEquals(TestConstants.time, event.metadata.time)
  33. assertEquals("mybatch", event.referenceId)
  34. assertEquals("mytype", event.batchType)
  35. assertArrayEquals(arrayOf("arg1", "arg2"), event.params)
  36. }
  37. @Test
  38. fun `ignores batches with bad reference ids`() {
  39. val events = processor.process(IrcMessage(emptyMap(), null, "BATCH", params("~mybatch")))
  40. assertEquals(0, events.size)
  41. }
  42. }