Browse Source

Migrate all tests to mockk

tags/v0.10.0
Chris Smith 5 years ago
parent
commit
4c1be015cd

+ 1
- 0
CHANGELOG View File

@@ -14,6 +14,7 @@ vNEXT (in development)
14 14
  * Added TargetedEvent, a subclass of IrcEvent, for all events that are
15 15
    targeted to a user or channel
16 16
  * (Internal) Added annotation to track removal of deprecated methods
17
+ * (Internal) Migrate unit tests to use Mockk instead of Mockito
17 18
 
18 19
 v0.9.0
19 20
 

+ 1
- 2
build.gradle.kts View File

@@ -40,10 +40,9 @@ dependencies {
40 40
     implementation("io.ktor:ktor-network:1.1.2")
41 41
     implementation("io.ktor:ktor-network-tls:1.1.2")
42 42
 
43
-    testImplementation("com.nhaarman.mockitokotlin2:mockito-kotlin:2.1.0")
44 43
     testImplementation("org.junit.jupiter:junit-jupiter-api:5.4.0")
45 44
     testImplementation("org.junit.jupiter:junit-jupiter-params:5.4.0")
46
-    testImplementation("io.mockk:mockk:1.9")
45
+    testImplementation("io.mockk:mockk:1.9.1")
47 46
     testRuntime("org.junit.jupiter:junit-jupiter-engine:5.4.0")
48 47
 }
49 48
 

+ 37
- 23
src/test/kotlin/com/dmdirc/ktirc/IrcClientImplTest.kt View File

@@ -7,7 +7,6 @@ import com.dmdirc.ktirc.messages.tagMap
7 7
 import com.dmdirc.ktirc.model.*
8 8
 import com.dmdirc.ktirc.util.currentTimeProvider
9 9
 import com.dmdirc.ktirc.util.generateLabel
10
-import com.nhaarman.mockitokotlin2.*
11 10
 import io.ktor.util.KtorExperimentalAPI
12 11
 import io.mockk.*
13 12
 import kotlinx.coroutines.*
@@ -39,16 +38,18 @@ internal class IrcClientImplTest {
39 38
     private val readLineChannel = Channel<ByteArray>(Channel.UNLIMITED)
40 39
     private val sendLineChannel = Channel<ByteArray>(Channel.UNLIMITED)
41 40
 
42
-    private val mockSocket = mock<LineBufferedSocket> {
43
-        on { receiveChannel } doReturn readLineChannel
44
-        on { sendChannel } doReturn sendLineChannel
41
+    private val mockSocket = mockk<LineBufferedSocket> {
42
+        every { receiveChannel } returns readLineChannel
43
+        every { sendChannel } returns sendLineChannel
45 44
     }
46 45
 
47
-    private val mockSocketFactory = mock<(CoroutineScope, String, Int, Boolean) -> LineBufferedSocket> {
48
-        on { invoke(any(), eq(HOST), eq(PORT), any()) } doReturn mockSocket
46
+    private val mockSocketFactory = mockk<(CoroutineScope, String, Int, Boolean) -> LineBufferedSocket> {
47
+        every { this@mockk.invoke(any(), eq(HOST), eq(PORT), any()) } returns mockSocket
49 48
     }
50 49
 
51
-    private val mockEventHandler = mock<(IrcEvent) -> Unit>()
50
+    private val mockEventHandler = mockk<(IrcEvent) -> Unit> {
51
+        every { this@mockk.invoke(any()) } just Runs
52
+    }
52 53
 
53 54
     private val profileConfig = ProfileConfig().apply {
54 55
         nickname = NICK
@@ -74,7 +75,7 @@ internal class IrcClientImplTest {
74 75
         client.socketFactory = mockSocketFactory
75 76
         client.connect()
76 77
 
77
-        verify(mockSocketFactory, timeout(500)).invoke(client, HOST, PORT, false)
78
+        verify(timeout = 500) { mockSocketFactory(client, HOST, PORT, false) }
78 79
     }
79 80
 
80 81
     @Test
@@ -87,7 +88,7 @@ internal class IrcClientImplTest {
87 88
         client.socketFactory = mockSocketFactory
88 89
         client.connect()
89 90
 
90
-        verify(mockSocketFactory, timeout(500)).invoke(client, HOST, PORT, true)
91
+        verify(timeout = 500) { mockSocketFactory(client, HOST, PORT, true) }
91 92
     }
92 93
 
93 94
     @Test
@@ -104,19 +105,25 @@ internal class IrcClientImplTest {
104 105
     @Test
105 106
     fun `emits connection events with local time`() = runBlocking {
106 107
         currentTimeProvider = { TestConstants.time }
108
+
109
+        val connectingSlot = slot<ServerConnecting>()
110
+        val connectedSlot = slot<ServerConnected>()
111
+
112
+        every { mockEventHandler.invoke(capture(connectingSlot)) } just Runs
113
+        every { mockEventHandler.invoke(capture(connectedSlot)) } just Runs
114
+
107 115
         val client = IrcClientImpl(normalConfig)
108 116
         client.socketFactory = mockSocketFactory
109 117
         client.onEvent(mockEventHandler)
110 118
         client.connect()
111 119
 
112
-        val captor = argumentCaptor<IrcEvent>()
113
-        verify(mockEventHandler, timeout(500).atLeast(2)).invoke(captor.capture())
114
-
115
-        assertTrue(captor.firstValue is ServerConnecting)
116
-        assertEquals(TestConstants.time, captor.firstValue.metadata.time)
120
+        verify(timeout = 500) {
121
+            mockEventHandler(ofType<ServerConnecting>())
122
+            mockEventHandler(ofType<ServerConnected>())
123
+        }
117 124
 
118
-        assertTrue(captor.secondValue is ServerConnected)
119
-        assertEquals(TestConstants.time, captor.secondValue.metadata.time)
125
+        assertEquals(TestConstants.time, connectingSlot.captured.metadata.time)
126
+        assertEquals(TestConstants.time, connectedSlot.captured.metadata.time)
120 127
     }
121 128
 
122 129
     @Test
@@ -156,7 +163,9 @@ internal class IrcClientImplTest {
156 163
 
157 164
         client.connect()
158 165
 
159
-        verify(mockEventHandler, timeout(500)).invoke(isA<ServerWelcome>())
166
+        verify(timeout = 500) {
167
+            mockEventHandler(ofType<ServerWelcome>())
168
+        }
160 169
     }
161 170
 
162 171
     @Test
@@ -249,7 +258,9 @@ internal class IrcClientImplTest {
249 258
         client.onEvent(mockEventHandler)
250 259
         client.send("PRIVMSG", "#thegibson", "Mess with the best, die like the rest")
251 260
 
252
-        verify(mockEventHandler, never()).invoke(isA<MessageReceived>())
261
+        verify(inverse = true) {
262
+            mockEventHandler(ofType<MessageReceived>())
263
+        }
253 264
     }
254 265
 
255 266
     @Test
@@ -262,8 +273,9 @@ internal class IrcClientImplTest {
262 273
         client.onEvent(mockEventHandler)
263 274
         client.send("PRIVMSG", "#thegibson", "Mess with the best, die like the rest")
264 275
 
265
-        verify(mockEventHandler, never()).invoke(isA<MessageReceived>())
266
-    }
276
+        verify(inverse = true) {
277
+            mockEventHandler(ofType<MessageReceived>())
278
+        }    }
267 279
 
268 280
     @Test
269 281
     fun `sends structured text to socket with tags`() = runBlocking {
@@ -321,7 +333,9 @@ internal class IrcClientImplTest {
321 333
 
322 334
         client.disconnect()
323 335
 
324
-        verify(mockSocket, timeout(500)).disconnect()
336
+        verify(timeout = 500) {
337
+            mockSocket.disconnect()
338
+        }
325 339
     }
326 340
 
327 341
     @Test
@@ -384,7 +398,7 @@ internal class IrcClientImplTest {
384 398
 
385 399
     @Test
386 400
     fun `sends connect error when host is unresolvable`() = runBlocking {
387
-        whenever(mockSocket.connect()).doThrow(UnresolvedAddressException())
401
+        every { mockSocket.connect() } throws UnresolvedAddressException()
388 402
         with(IrcClientImpl(normalConfig)) {
389 403
             socketFactory = mockSocketFactory
390 404
             withTimeout(500) {
@@ -400,7 +414,7 @@ internal class IrcClientImplTest {
400 414
 
401 415
     @Test
402 416
     fun `sends connect error when tls certificate is bad`() = runBlocking {
403
-        whenever(mockSocket.connect()).doThrow(CertificateException("Boooo"))
417
+        every { mockSocket.connect() } throws CertificateException("Boooo")
404 418
         with(IrcClientImpl(normalConfig)) {
405 419
             socketFactory = mockSocketFactory
406 420
             withTimeout(500) {

+ 80
- 61
src/test/kotlin/com/dmdirc/ktirc/io/MessageHandlerTest.kt View File

@@ -7,25 +7,30 @@ import com.dmdirc.ktirc.events.handlers.EventHandler
7 7
 import com.dmdirc.ktirc.events.mutators.EventMutator
8 8
 import com.dmdirc.ktirc.messages.MessageProcessor
9 9
 import com.dmdirc.ktirc.model.IrcMessage
10
-import com.nhaarman.mockitokotlin2.*
10
+import io.mockk.*
11 11
 import kotlinx.coroutines.channels.Channel
12 12
 import kotlinx.coroutines.runBlocking
13 13
 import org.junit.jupiter.api.Test
14 14
 
15 15
 internal class MessageHandlerTest {
16 16
 
17
-    private val ircClient = mock<IrcClient>()
17
+    private val ircClient = mockk<IrcClient>()
18 18
 
19
-    private val nickProcessor = mock<MessageProcessor> {
20
-        on { commands } doReturn arrayOf("FOO", "NICK")
19
+    private val nickProcessor = mockk<MessageProcessor> {
20
+        every { commands } returns arrayOf("FOO", "NICK")
21
+        every { process(any()) } returns emptyList()
21 22
     }
22 23
 
23
-    private val joinProcessor = mock<MessageProcessor> {
24
-        on { commands } doReturn arrayOf("BAR", "JOIN")
24
+    private val joinProcessor = mockk<MessageProcessor> {
25
+        every { commands } returns arrayOf("BAR", "JOIN")
26
+        every { process(any()) } returns emptyList()
25 27
     }
26 28
 
29
+    private val eventHandler1 = mockk<EventHandler>()
30
+    private val eventHandler2 = mockk<EventHandler>()
31
+
27 32
     @Test
28
-    fun `passes message on to correct processor`() = runBlocking<Unit> {
33
+    fun `passes message on to correct processor`() = runBlocking {
29 34
         val handler = MessageHandler(listOf(joinProcessor, nickProcessor), emptyList(), mutableListOf())
30 35
         val message = IrcMessage(emptyMap(), null, "JOIN", emptyList())
31 36
 
@@ -35,11 +40,13 @@ internal class MessageHandlerTest {
35 40
             handler.processMessages(ircClient, this)
36 41
         }
37 42
 
38
-        verify(joinProcessor).process(message)
43
+        verify {
44
+            joinProcessor.process(message)
45
+        }
39 46
     }
40 47
 
41 48
     @Test
42
-    fun `reads multiple messages`() = runBlocking<Unit> {
49
+    fun `reads multiple messages`() = runBlocking {
43 50
         val handler = MessageHandler(listOf(joinProcessor, nickProcessor), emptyList(), mutableListOf())
44 51
         val joinMessage = IrcMessage(emptyMap(), null, "JOIN", emptyList())
45 52
         val nickMessage = IrcMessage(emptyMap(), null, "NICK", emptyList())
@@ -53,19 +60,18 @@ internal class MessageHandlerTest {
53 60
             handler.processMessages(ircClient, this)
54 61
         }
55 62
 
56
-        with(inOrder(joinProcessor, nickProcessor)) {
57
-            verify(joinProcessor).process(joinMessage)
58
-            verify(nickProcessor).process(nickMessage)
63
+        verifyOrder {
64
+            joinProcessor.process(joinMessage)
65
+            nickProcessor.process(nickMessage)
59 66
         }
60 67
     }
61 68
 
62 69
     @Test
63 70
     fun `invokes all event handler with all returned events`() = runBlocking {
64
-        val eventHandler1 = mock<EventHandler>()
65
-        val eventHandler2 = mock<EventHandler>()
66 71
         val handler = MessageHandler(listOf(joinProcessor, nickProcessor), emptyList(), mutableListOf(eventHandler1, eventHandler2))
67 72
         val joinMessage = IrcMessage(emptyMap(), null, "JOIN", emptyList())
68
-        whenever(joinProcessor.process(any())).thenReturn(listOf(ServerConnected(EventMetadata(TestConstants.time)), ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn")))
73
+
74
+        every { joinProcessor.process(any()) } returns listOf(ServerConnected(EventMetadata(TestConstants.time)), ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"))
69 75
 
70 76
         with(Channel<IrcMessage>(1)) {
71 77
             send(joinMessage)
@@ -73,110 +79,123 @@ internal class MessageHandlerTest {
73 79
             handler.processMessages(ircClient, this)
74 80
         }
75 81
 
76
-        verify(eventHandler1).processEvent(same(ircClient), isA<ServerConnected>())
77
-        verify(eventHandler1).processEvent(same(ircClient), isA<ServerWelcome>())
78
-        verify(eventHandler2).processEvent(same(ircClient), isA<ServerConnected>())
79
-        verify(eventHandler2).processEvent(same(ircClient), isA<ServerWelcome>())
82
+        verify {
83
+            eventHandler1.processEvent(refEq(ircClient), ofType<ServerConnected>())
84
+            eventHandler1.processEvent(refEq(ircClient), ofType<ServerWelcome>())
85
+            eventHandler2.processEvent(refEq(ircClient), ofType<ServerConnected>())
86
+            eventHandler2.processEvent(refEq(ircClient), ofType<ServerWelcome>())
87
+        }
80 88
     }
81 89
 
82 90
     @Test
83 91
     fun `sends custom events to all handlers`() {
84
-        val eventHandler1 = mock<EventHandler>()
85
-        val eventHandler2 = mock<EventHandler>()
86 92
         val handler = MessageHandler(emptyList(), emptyList(), mutableListOf(eventHandler1, eventHandler2))
87 93
         handler.handleEvent(ircClient, ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"))
88 94
 
89
-        verify(eventHandler1).processEvent(same(ircClient), isA<ServerWelcome>())
90
-        verify(eventHandler2).processEvent(same(ircClient), isA<ServerWelcome>())
95
+        verify {
96
+            eventHandler1.processEvent(refEq(ircClient), ofType<ServerWelcome>())
97
+            eventHandler2.processEvent(refEq(ircClient), ofType<ServerWelcome>())
98
+        }
91 99
     }
92 100
 
93 101
     @Test
94 102
     fun `sends custom events to all emitters`() {
95 103
         val handler = MessageHandler(emptyList(), emptyList(), emptyList())
96
-        val emitter1 = mock<(IrcEvent) -> Unit>()
97
-        val emitter2 = mock<(IrcEvent) -> Unit>()
104
+        val emitter1 = mockk<(IrcEvent) -> Unit> {
105
+            every { this@mockk(any<IrcEvent>()) } just Runs
106
+        }
107
+        val emitter2 = mockk<(IrcEvent) -> Unit>  {
108
+            every { this@mockk(any<IrcEvent>()) } just Runs
109
+        }
98 110
         handler.addEmitter(emitter1)
99 111
         handler.addEmitter(emitter2)
100 112
         handler.handleEvent(ircClient, ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"))
101 113
 
102
-        verify(emitter1).invoke(isA<ServerWelcome>())
103
-        verify(emitter2).invoke(isA<ServerWelcome>())
114
+        verify {
115
+            emitter1(ofType<ServerWelcome>())
116
+            emitter2(ofType<ServerWelcome>())
117
+        }
104 118
     }
105 119
 
106 120
     @Test
107 121
     fun `sends events to handlers but not mutators or emitters if process only is true`() {
108
-        val mutator = mock<EventMutator>()
109
-        val eventHandler1 = mock<EventHandler>()
110
-        val eventHandler2 = mock<EventHandler>()
122
+        val mutator = mockk<EventMutator>()
111 123
         val handler = MessageHandler(emptyList(), listOf(mutator), listOf(eventHandler1, eventHandler2))
112
-        val emitter = mock<(IrcEvent) -> Unit>()
124
+        val emitter = mockk<(IrcEvent) -> Unit>()
113 125
         handler.addEmitter(emitter)
114 126
 
115 127
         handler.handleEvent(ircClient, ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"), true)
116 128
 
117
-        verify(eventHandler1).processEvent(same(ircClient), isA<ServerWelcome>())
118
-        verify(eventHandler2).processEvent(same(ircClient), isA<ServerWelcome>())
119
-        verify(emitter, never()).invoke(any())
120
-        verify(mutator, never()).mutateEvent(any(), any(), any())
129
+        verify {
130
+            eventHandler1.processEvent(refEq(ircClient), ofType<ServerWelcome>())
131
+            eventHandler2.processEvent(refEq(ircClient), ofType<ServerWelcome>())
132
+        }
133
+        verify(inverse = true) {
134
+            emitter.invoke(any())
135
+            mutator.mutateEvent(any(), any(), any())
136
+        }
121 137
     }
122 138
 
123 139
     @Test
124 140
     fun `mutates events in order`() {
125
-        val eventMutator1 = mock<EventMutator> {
126
-            on { mutateEvent(any(), any(), isA<ServerWelcome>()) } doReturn listOf(ServerReady(EventMetadata(TestConstants.time)))
141
+        val eventMutator1 = mockk<EventMutator> {
142
+            every { mutateEvent(any(), any(), ofType<ServerWelcome>()) } returns listOf(ServerReady(EventMetadata(TestConstants.time)))
127 143
         }
128
-        val eventMutator2 = mock<EventMutator> {
129
-            on { mutateEvent(any(), any(), isA<ServerReady>()) } doReturn listOf(ServerConnected(EventMetadata(TestConstants.time)))
144
+        val eventMutator2 = mockk<EventMutator> {
145
+            every { mutateEvent(any(), any(), ofType<ServerReady>()) } returns  listOf(ServerConnected(EventMetadata(TestConstants.time)))
130 146
         }
131
-        val eventHandler = mock<EventHandler>()
147
+        val eventHandler = mockk<EventHandler>()
132 148
 
133 149
         val handler = MessageHandler(emptyList(), listOf(eventMutator1, eventMutator2), mutableListOf(eventHandler))
134 150
         handler.handleEvent(ircClient, ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"))
135 151
 
136
-        verify(eventMutator1).mutateEvent(same(ircClient), same(handler), isA<ServerWelcome>())
137
-        verify(eventMutator2).mutateEvent(same(ircClient), same(handler), isA<ServerReady>())
138
-        verify(eventHandler).processEvent(same(ircClient), isA<ServerConnected>())
139
-        verifyNoMoreInteractions(eventHandler)
152
+        verifyAll {
153
+            eventMutator1.mutateEvent(refEq(ircClient), refEq(handler), ofType<ServerWelcome>())
154
+            eventMutator2.mutateEvent(refEq(ircClient), refEq(handler), ofType<ServerReady>())
155
+            eventHandler.processEvent(refEq(ircClient), ofType<ServerConnected>())
156
+        }
140 157
     }
141 158
 
142 159
     @Test
143 160
     fun `allows mutators to fan out events`() {
144
-        val eventMutator1 = mock<EventMutator> {
145
-            on { mutateEvent(any(), any(), isA<ServerWelcome>()) } doReturn listOf(
161
+        val eventMutator1 = mockk<EventMutator> {
162
+            every { mutateEvent(any(), any(), ofType<ServerWelcome>()) } returns listOf(
146 163
                     ServerReady(EventMetadata(TestConstants.time)),
147 164
                     ServerConnected(EventMetadata(TestConstants.time))
148 165
             )
149 166
         }
150
-        val eventMutator2 = mock<EventMutator> {
151
-            on { mutateEvent(any(), any(), isA<ServerReady>()) } doReturn listOf(ServerReady(EventMetadata(TestConstants.time)))
152
-            on { mutateEvent(any(), any(), isA<ServerConnected>()) } doReturn listOf(ServerConnected(EventMetadata(TestConstants.time)))
167
+        val eventMutator2 = mockk<EventMutator> {
168
+            every { mutateEvent(any(), any(), ofType<ServerReady>()) } returns listOf(ServerReady(EventMetadata(TestConstants.time)))
169
+            every { mutateEvent(any(), any(), ofType<ServerConnected>()) } returns listOf(ServerConnected(EventMetadata(TestConstants.time)))
153 170
         }
154
-        val eventHandler = mock<EventHandler>()
171
+        val eventHandler = mockk<EventHandler>()
155 172
 
156 173
         val handler = MessageHandler(emptyList(), listOf(eventMutator1, eventMutator2), mutableListOf(eventHandler))
157 174
         handler.handleEvent(ircClient, ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"))
158 175
 
159
-        with(inOrder(eventMutator2, eventHandler)) {
160
-            verify(eventMutator2).mutateEvent(same(ircClient), same(handler), isA<ServerReady>())
161
-            verify(eventMutator2).mutateEvent(same(ircClient), same(handler), isA<ServerConnected>())
162
-            verify(eventHandler).processEvent(same(ircClient), isA<ServerReady>())
163
-            verify(eventHandler).processEvent(same(ircClient), isA<ServerConnected>())
176
+        verifyOrder {
177
+            eventMutator2.mutateEvent(refEq(ircClient), refEq(handler), ofType<ServerReady>())
178
+            eventMutator2.mutateEvent(refEq(ircClient), refEq(handler), ofType<ServerConnected>())
179
+            eventHandler.processEvent(refEq(ircClient), ofType<ServerReady>())
180
+            eventHandler.processEvent(refEq(ircClient), ofType<ServerConnected>())
164 181
         }
165 182
     }
166 183
 
167 184
     @Test
168 185
     fun `allows mutators to suppress events`() {
169
-        val eventMutator1 = mock<EventMutator> {
170
-            on { mutateEvent(any(), any(), isA<ServerWelcome>()) } doReturn emptyList()
186
+        val eventMutator1 = mockk<EventMutator> {
187
+            every { mutateEvent(any(), any(), ofType<ServerWelcome>()) } returns emptyList()
171 188
         }
172
-        val eventMutator2 = mock<EventMutator>()
173
-        val eventHandler = mock<EventHandler>()
189
+        val eventMutator2 = mockk<EventMutator>()
190
+        val eventHandler = mockk<EventHandler>()
174 191
 
175 192
         val handler = MessageHandler(emptyList(), listOf(eventMutator1, eventMutator2), mutableListOf(eventHandler))
176 193
         handler.handleEvent(ircClient, ServerWelcome(EventMetadata(TestConstants.time), "the.gibson", "acidBurn"))
177 194
 
178
-        verify(eventMutator2, never()).mutateEvent(any(), same(handler), any())
179
-        verify(eventHandler, never()).processEvent(any(), any())
195
+        verify(inverse = true) {
196
+            eventMutator2.mutateEvent(any(), refEq(handler), any())
197
+            eventHandler.processEvent(any(), any())
198
+        }
180 199
     }
181 200
 
182 201
 }

+ 21
- 21
src/test/kotlin/com/dmdirc/ktirc/messages/MessageBuildersTest.kt View File

@@ -2,116 +2,116 @@ package com.dmdirc.ktirc.messages
2 2
 
3 3
 import com.dmdirc.ktirc.IrcClient
4 4
 import com.dmdirc.ktirc.model.MessageTag
5
-import com.nhaarman.mockitokotlin2.mock
6
-import com.nhaarman.mockitokotlin2.verify
5
+import io.mockk.mockk
6
+import io.mockk.verify
7 7
 import org.junit.jupiter.api.Test
8 8
 
9 9
 internal class MessageBuildersTest {
10 10
 
11
-    private val mockClient = mock<IrcClient>()
11
+    private val mockClient = mockk<IrcClient>()
12 12
 
13 13
     @Test
14 14
     fun `sendCapabilityRequest sends CAP REQ message with single argument`() {
15 15
         mockClient.sendCapabilityRequest(listOf("a"))
16
-        verify(mockClient).send("CAP", "REQ", "a")
16
+        verify { mockClient.send("CAP", "REQ", "a") }
17 17
     }
18 18
 
19 19
     @Test
20 20
     fun `sendCapabilityRequest sends CAP REQ message with multiple args`() {
21 21
         mockClient.sendCapabilityRequest(listOf("a b c"))
22
-        verify(mockClient).send("CAP", "REQ", "a b c")
22
+        verify { mockClient.send("CAP", "REQ", "a b c") }
23 23
     }
24 24
 
25 25
     @Test
26 26
     fun `sendJoin sends correct JOIN message`() {
27 27
         mockClient.sendJoin("#TheGibson")
28
-        verify(mockClient).send("JOIN", "#TheGibson")
28
+        verify { mockClient.send("JOIN", "#TheGibson") }
29 29
     }
30 30
 
31 31
     @Test
32 32
     fun `sendModeRequest sends correct MODE message`() {
33 33
         mockClient.sendModeRequest("#TheGibson")
34
-        verify(mockClient).send("MODE", "#TheGibson")
34
+        verify { mockClient.send("MODE", "#TheGibson") }
35 35
     }
36 36
 
37 37
     @Test
38 38
     fun `sendNickChange sends correct NICK message`() {
39 39
         mockClient.sendNickChange("AcidBurn")
40
-        verify(mockClient).send("NICK", "AcidBurn")
40
+        verify { mockClient.send("NICK", "AcidBurn") }
41 41
     }
42 42
 
43 43
     @Test
44 44
     fun `sendPassword sends correct PASS message`() {
45 45
         mockClient.sendPassword("hacktheplanet")
46
-        verify(mockClient).send("PASS", "hacktheplanet")
46
+        verify { mockClient.send("PASS", "hacktheplanet") }
47 47
     }
48 48
 
49 49
     @Test
50 50
     fun `sendPong sends correct PONG message`() {
51 51
         mockClient.sendPong("abcdef".toByteArray())
52
-        verify(mockClient).send("PONG", "abcdef")
52
+        verify { mockClient.send("PONG", "abcdef") }
53 53
     }
54 54
 
55 55
     @Test
56 56
     fun `sendMessage sends correct PRIVMSG message`() {
57 57
         mockClient.sendMessage("acidBurn", "Hack the planet!")
58
-        verify(mockClient).send(tagMap(), "PRIVMSG", "acidBurn", "Hack the planet!")
58
+        verify { mockClient.send(tagMap(), "PRIVMSG", "acidBurn", "Hack the planet!") }
59 59
     }
60 60
 
61 61
     @Test
62 62
     fun `sendMessage sends correct PRIVMSG message with reply to tag`() {
63 63
         mockClient.sendMessage("acidBurn", "Hack the planet!", "abc123")
64
-        verify(mockClient).send(tagMap(MessageTag.Reply to "abc123"), "PRIVMSG", "acidBurn", "Hack the planet!")
64
+        verify { mockClient.send(tagMap(MessageTag.Reply to "abc123"), "PRIVMSG", "acidBurn", "Hack the planet!") }
65 65
     }
66 66
 
67 67
     @Test
68 68
     fun `sendCtcp sends correct CTCP message with no arguments`() {
69 69
         mockClient.sendCtcp("acidBurn", "ping")
70
-        verify(mockClient).send(tagMap(), "PRIVMSG", "acidBurn", "\u0001PING\u0001")
70
+        verify { mockClient.send(tagMap(), "PRIVMSG", "acidBurn", "\u0001PING\u0001") }
71 71
     }
72 72
 
73 73
     @Test
74 74
     fun `sendCtcp sends correct CTCP message with arguments`() {
75 75
         mockClient.sendCtcp("acidBurn", "ping", "12345")
76
-        verify(mockClient).send(tagMap(), "PRIVMSG", "acidBurn", "\u0001PING 12345\u0001")
76
+        verify { mockClient.send(tagMap(), "PRIVMSG", "acidBurn", "\u0001PING 12345\u0001") }
77 77
     }
78 78
 
79 79
     @Test
80 80
     fun `sendAction sends correct action`() {
81 81
         mockClient.sendAction("acidBurn", "hacks the planet")
82
-        verify(mockClient).send(tagMap(), "PRIVMSG", "acidBurn", "\u0001ACTION hacks the planet\u0001")
82
+        verify { mockClient.send(tagMap(), "PRIVMSG", "acidBurn", "\u0001ACTION hacks the planet\u0001") }
83 83
     }
84 84
 
85 85
     @Test
86 86
     fun `sendUser sends correct USER message`() {
87
-        mockClient.sendUser("AcidBurn","Kate")
88
-        verify(mockClient).send("USER", "AcidBurn", "0", "*", "Kate")
87
+        mockClient.sendUser("AcidBurn", "Kate")
88
+        verify { mockClient.send("USER", "AcidBurn", "0", "*", "Kate") }
89 89
     }
90 90
 
91 91
     @Test
92 92
     fun `sendUser sends correct AUTHENTICATE message`() {
93 93
         mockClient.sendAuthenticationMessage("SCRAM-MD5")
94
-        verify(mockClient).send("AUTHENTICATE", "SCRAM-MD5")
94
+        verify { mockClient.send("AUTHENTICATE", "SCRAM-MD5") }
95 95
     }
96 96
 
97 97
     @Test
98 98
     fun `sendUser sends correct blank AUTHENTICATE message`() {
99 99
         mockClient.sendAuthenticationMessage()
100
-        verify(mockClient).send("AUTHENTICATE", "+")
100
+        verify { mockClient.send("AUTHENTICATE", "+") }
101 101
     }
102 102
 
103 103
     @Test
104 104
     fun `sendTagMessage sends tags`() {
105 105
         val tags = mapOf(MessageTag.MessageId to "id", MessageTag.AccountName to "foo")
106 106
         mockClient.sendTagMessage("#thegibson", tags)
107
-        verify(mockClient).send(tags, "TAGMSG", "#thegibson")
107
+        verify { mockClient.send(tags, "TAGMSG", "#thegibson") }
108 108
     }
109 109
 
110 110
     @Test
111 111
     fun `sendTagMessage sends tags with reply ID`() {
112 112
         val tags = mapOf(MessageTag.MessageId to "id", MessageTag.AccountName to "foo")
113 113
         mockClient.sendTagMessage("#thegibson", tags, "otherId")
114
-        verify(mockClient).send(tags + (MessageTag.Reply to "otherId"), "TAGMSG", "#thegibson")
114
+        verify { mockClient.send(tags + (MessageTag.Reply to "otherId"), "TAGMSG", "#thegibson") }
115 115
     }
116 116
 
117 117
 }

+ 11
- 11
src/test/kotlin/com/dmdirc/ktirc/model/SaslStateTest.kt View File

@@ -1,26 +1,26 @@
1 1
 package com.dmdirc.ktirc.model
2 2
 
3 3
 import com.dmdirc.ktirc.sasl.SaslMechanism
4
-import com.nhaarman.mockitokotlin2.doReturn
5
-import com.nhaarman.mockitokotlin2.mock
4
+import io.mockk.every
5
+import io.mockk.mockk
6 6
 import org.junit.jupiter.api.Assertions.*
7 7
 import org.junit.jupiter.api.Test
8 8
 
9 9
 internal class SaslStateTest {
10 10
 
11
-    private val mech1 = mock<SaslMechanism> {
12
-        on { priority } doReturn 1
13
-        on { ircName } doReturn "mech1"
11
+    private val mech1 = mockk<SaslMechanism> {
12
+        every { priority } returns 1
13
+        every { ircName } returns "mech1"
14 14
     }
15 15
 
16
-    private val mech2 = mock<SaslMechanism> {
17
-        on { priority } doReturn 2
18
-        on { ircName } doReturn "mech2"
16
+    private val mech2 = mockk<SaslMechanism> {
17
+        every { priority } returns 2
18
+        every { ircName } returns "mech2"
19 19
     }
20 20
 
21
-    private val mech3 = mock<SaslMechanism> {
22
-        on { priority } doReturn 3
23
-        on { ircName } doReturn "mech3"
21
+    private val mech3 = mockk<SaslMechanism> {
22
+        every { priority } returns 3
23
+        every { ircName } returns "mech3"
24 24
     }
25 25
 
26 26
     private val mechanisms = listOf(mech1, mech2, mech3)

+ 4
- 4
src/test/kotlin/com/dmdirc/ktirc/sasl/ExternalMechanismTest.kt View File

@@ -1,8 +1,8 @@
1 1
 package com.dmdirc.ktirc.sasl
2 2
 
3 3
 import com.dmdirc.ktirc.IrcClient
4
-import com.nhaarman.mockitokotlin2.mock
5
-import com.nhaarman.mockitokotlin2.verify
4
+import io.mockk.mockk
5
+import io.mockk.verify
6 6
 import org.junit.jupiter.api.Test
7 7
 
8 8
 internal class ExternalMechanismTest {
@@ -10,11 +10,11 @@ internal class ExternalMechanismTest {
10 10
     @Test
11 11
     fun `sends + when receiving server message`() {
12 12
         val mechanism = ExternalMechanism()
13
-        val client = mock<IrcClient>()
13
+        val client = mockk<IrcClient>()
14 14
 
15 15
         mechanism.handleAuthenticationEvent(client, null)
16 16
 
17
-        verify(client).send("AUTHENTICATE", "+")
17
+        verify { client.send("AUTHENTICATE", "+") }
18 18
     }
19 19
 
20 20
 }

+ 7
- 7
src/test/kotlin/com/dmdirc/ktirc/sasl/PlainMechanismTest.kt View File

@@ -3,15 +3,15 @@ package com.dmdirc.ktirc.sasl
3 3
 import com.dmdirc.ktirc.IrcClient
4 4
 import com.dmdirc.ktirc.SaslConfig
5 5
 import com.dmdirc.ktirc.model.ServerState
6
-import com.nhaarman.mockitokotlin2.*
6
+import io.mockk.*
7 7
 import org.junit.jupiter.api.Assertions.assertEquals
8 8
 import org.junit.jupiter.api.Test
9 9
 
10 10
 internal class PlainMechanismTest {
11 11
 
12
-    private val serverState = ServerState("", "")
13
-    private val ircClient = mock<IrcClient> {
14
-        on { serverState } doReturn serverState
12
+    private val fakeServerState = ServerState("", "")
13
+    private val ircClient = mockk<IrcClient> {
14
+        every { serverState } returns fakeServerState
15 15
     }
16 16
 
17 17
     private val mechanism = PlainMechanism(SaslConfig().apply {
@@ -21,11 +21,11 @@ internal class PlainMechanismTest {
21 21
 
22 22
     @Test
23 23
     fun `sends encoded username and password when first message received`() {
24
+        val slot = slot<String>()
25
+        every { ircClient.send(eq("AUTHENTICATE"), capture(slot)) } just Runs
24 26
         mechanism.handleAuthenticationEvent(ircClient, null)
25 27
 
26
-        val captor = argumentCaptor<String>()
27
-        verify(ircClient).send(eq("AUTHENTICATE"), captor.capture())
28
-        val data = String(captor.firstValue.fromBase64()).split('\u0000')
28
+        val data = String(slot.captured.fromBase64()).split('\u0000')
29 29
         assertEquals("acidB", data[0])
30 30
         assertEquals("acidB", data[1])
31 31
         assertEquals("HackThePlan3t!", data[2])

+ 13
- 14
src/test/kotlin/com/dmdirc/ktirc/sasl/SaslMechanismTest.kt View File

@@ -2,16 +2,17 @@ package com.dmdirc.ktirc.sasl
2 2
 
3 3
 import com.dmdirc.ktirc.IrcClient
4 4
 import com.dmdirc.ktirc.SaslConfig
5
-import com.nhaarman.mockitokotlin2.inOrder
6
-import com.nhaarman.mockitokotlin2.mock
7
-import com.nhaarman.mockitokotlin2.times
8
-import com.nhaarman.mockitokotlin2.verify
5
+import io.mockk.mockk
6
+import io.mockk.verify
7
+import io.mockk.verifyOrder
9 8
 import org.junit.jupiter.api.Assertions.assertEquals
10 9
 import org.junit.jupiter.api.Assertions.assertTrue
11 10
 import org.junit.jupiter.api.Test
12 11
 
13 12
 internal class SaslMechanismTest {
14 13
 
14
+    private val client = mockk<IrcClient>()
15
+
15 16
     @Test
16 17
     fun `creates sasl mechanisms by name`() {
17 18
         val mechanisms = SaslConfig().apply { mechanisms("PLAIN", "EXTERNAL") }.createSaslMechanism()
@@ -29,28 +30,26 @@ internal class SaslMechanismTest {
29 30
 
30 31
     @Test
31 32
     fun `base64 encodes authentication data`() {
32
-        val client = mock<IrcClient>()
33 33
         client.sendAuthenticationData("abcdef")
34
-        verify(client).send("AUTHENTICATE", "YWJjZGVm")
34
+        verify { client.send("AUTHENTICATE", "YWJjZGVm") }
35 35
     }
36 36
 
37 37
     @Test
38 38
     fun `chunks authentication data into 400 byte lines`() {
39
-        val client = mock<IrcClient>()
40 39
         client.sendAuthenticationData("abcdef".repeat(120))
41
-        with (inOrder(client)) {
42
-            verify(client, times(2)).send("AUTHENTICATE", "YWJjZGVm".repeat(50))
43
-            verify(client).send("AUTHENTICATE", "YWJjZGVm".repeat(20))
40
+        verifyOrder {
41
+            client.send("AUTHENTICATE", "YWJjZGVm".repeat(50))
42
+            client.send("AUTHENTICATE", "YWJjZGVm".repeat(50))
43
+            client.send("AUTHENTICATE", "YWJjZGVm".repeat(20))
44 44
         }
45 45
     }
46 46
 
47 47
     @Test
48 48
     fun `sends blank line if data is exactly 400 bytes`() {
49
-        val client = mock<IrcClient>()
50 49
         client.sendAuthenticationData("abcdef".repeat(50))
51
-        with (inOrder(client)) {
52
-            verify(client).send("AUTHENTICATE", "YWJjZGVm".repeat(50))
53
-            verify(client).send("AUTHENTICATE", "+")
50
+        verifyOrder {
51
+            client.send("AUTHENTICATE", "YWJjZGVm".repeat(50))
52
+            client.send("AUTHENTICATE", "+")
54 53
         }
55 54
     }
56 55
 

+ 34
- 34
src/test/kotlin/com/dmdirc/ktirc/sasl/ScramMechanismTest.kt View File

@@ -3,17 +3,17 @@ package com.dmdirc.ktirc.sasl
3 3
 import com.dmdirc.ktirc.IrcClient
4 4
 import com.dmdirc.ktirc.SaslConfig
5 5
 import com.dmdirc.ktirc.model.ServerState
6
-import com.nhaarman.mockitokotlin2.doReturn
7
-import com.nhaarman.mockitokotlin2.mock
8
-import com.nhaarman.mockitokotlin2.verify
6
+import io.mockk.every
7
+import io.mockk.mockk
8
+import io.mockk.verify
9 9
 import org.junit.jupiter.api.Assertions.assertEquals
10 10
 import org.junit.jupiter.api.Test
11 11
 
12 12
 internal class ScramMechanismTest {
13 13
 
14
-    private val serverState = ServerState("", "")
15
-    private val ircClient = mock<IrcClient> {
16
-        on { serverState } doReturn serverState
14
+    private val fakeServerState = ServerState("", "")
15
+    private val ircClient = mockk<IrcClient> {
16
+        every { serverState } returns fakeServerState
17 17
     }
18 18
 
19 19
     @Test
@@ -25,8 +25,8 @@ internal class ScramMechanismTest {
25 25
 
26 26
         mechanism.handleAuthenticationEvent(ircClient, "+".toByteArray())
27 27
 
28
-        val nonce = (serverState.sasl.mechanismState as ScramState).clientNonce
29
-        verify(ircClient).send("AUTHENTICATE", "n,,n=user,r=$nonce".toByteArray().toBase64())
28
+        val nonce = (fakeServerState.sasl.mechanismState as ScramState).clientNonce
29
+        verify { ircClient.send("AUTHENTICATE", "n,,n=user,r=$nonce".toByteArray().toBase64()) }
30 30
     }
31 31
 
32 32
     @Test
@@ -36,11 +36,11 @@ internal class ScramMechanismTest {
36 36
             password = "pencil"
37 37
         })
38 38
 
39
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
39
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
40 40
 
41 41
         mechanism.handleAuthenticationEvent(ircClient, "m=future".toByteArray())
42 42
 
43
-        verify(ircClient).send("AUTHENTICATE", "*")
43
+        verify { ircClient.send("AUTHENTICATE", "*") }
44 44
     }
45 45
 
46 46
     @Test
@@ -50,11 +50,11 @@ internal class ScramMechanismTest {
50 50
             password = "pencil"
51 51
         })
52 52
 
53
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
53
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
54 54
 
55 55
         mechanism.handleAuthenticationEvent(ircClient, "e=whoops".toByteArray())
56 56
 
57
-        verify(ircClient).send("AUTHENTICATE", "*")
57
+        verify { ircClient.send("AUTHENTICATE", "*") }
58 58
     }
59 59
 
60 60
     @Test
@@ -64,11 +64,11 @@ internal class ScramMechanismTest {
64 64
             password = "pencil"
65 65
         })
66 66
 
67
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
67
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
68 68
 
69 69
         mechanism.handleAuthenticationEvent(ircClient, "r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92".toByteArray())
70 70
 
71
-        verify(ircClient).send("AUTHENTICATE", "*")
71
+        verify { ircClient.send("AUTHENTICATE", "*") }
72 72
     }
73 73
 
74 74
     @Test
@@ -78,11 +78,11 @@ internal class ScramMechanismTest {
78 78
             password = "pencil"
79 79
         })
80 80
 
81
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
81
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
82 82
 
83 83
         mechanism.handleAuthenticationEvent(ircClient, "r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92,i=leet".toByteArray())
84 84
 
85
-        verify(ircClient).send("AUTHENTICATE", "*")
85
+        verify { ircClient.send("AUTHENTICATE", "*") }
86 86
     }
87 87
 
88 88
     @Test
@@ -92,11 +92,11 @@ internal class ScramMechanismTest {
92 92
             password = "pencil"
93 93
         })
94 94
 
95
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
95
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
96 96
 
97 97
         mechanism.handleAuthenticationEvent(ircClient, "rs=QSXCR+Q6sek8bf92,i=4096".toByteArray())
98 98
 
99
-        verify(ircClient).send("AUTHENTICATE", "*")
99
+        verify { ircClient.send("AUTHENTICATE", "*") }
100 100
     }
101 101
 
102 102
     @Test
@@ -106,11 +106,11 @@ internal class ScramMechanismTest {
106 106
             password = "pencil"
107 107
         })
108 108
 
109
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
109
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage)
110 110
 
111 111
         mechanism.handleAuthenticationEvent(ircClient, "r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,i=4096".toByteArray())
112 112
 
113
-        verify(ircClient).send("AUTHENTICATE", "*")
113
+        verify { ircClient.send("AUTHENTICATE", "*") }
114 114
     }
115 115
 
116 116
     @Test
@@ -120,11 +120,11 @@ internal class ScramMechanismTest {
120 120
             password = "pencil"
121 121
         })
122 122
 
123
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage, clientNonce = "fyko+d2lbbFgONRv9qkxdawL")
123
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage, clientNonce = "fyko+d2lbbFgONRv9qkxdawL")
124 124
 
125 125
         mechanism.handleAuthenticationEvent(ircClient, "r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92,i=4096".toByteArray())
126 126
 
127
-        (serverState.sasl.mechanismState as ScramState).let {
127
+        (fakeServerState.sasl.mechanismState as ScramState).let {
128 128
             assertEquals(ScramStage.Finishing, it.scramStage)
129 129
             assertEquals("fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j", it.serverNonce)
130 130
             assertEquals(4096, it.iterCount)
@@ -141,11 +141,11 @@ internal class ScramMechanismTest {
141 141
             password = "pencil"
142 142
         })
143 143
 
144
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage, clientNonce = "fyko+d2lbbFgONRv9qkxdawL")
144
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.SendingSecondMessage, clientNonce = "fyko+d2lbbFgONRv9qkxdawL")
145 145
 
146 146
         mechanism.handleAuthenticationEvent(ircClient, "r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92,i=4096".toByteArray())
147 147
 
148
-        verify(ircClient).send("AUTHENTICATE", "c=biws,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,p=v0X8v3Bz2T0CJGbJQyF0X+HI4Ts=".toByteArray().toBase64())
148
+        verify { ircClient.send("AUTHENTICATE", "c=biws,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,p=v0X8v3Bz2T0CJGbJQyF0X+HI4Ts=".toByteArray().toBase64()) }
149 149
     }
150 150
 
151 151
     @Test
@@ -155,11 +155,11 @@ internal class ScramMechanismTest {
155 155
             password = "pencil"
156 156
         })
157 157
 
158
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.Finishing)
158
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.Finishing)
159 159
 
160 160
         mechanism.handleAuthenticationEvent(ircClient, "m=future".toByteArray())
161 161
 
162
-        verify(ircClient).send("AUTHENTICATE", "*")
162
+        verify { ircClient.send("AUTHENTICATE", "*") }
163 163
     }
164 164
 
165 165
     @Test
@@ -169,11 +169,11 @@ internal class ScramMechanismTest {
169 169
             password = "pencil"
170 170
         })
171 171
 
172
-        serverState.sasl.mechanismState = ScramState(scramStage = ScramStage.Finishing)
172
+        fakeServerState.sasl.mechanismState = ScramState(scramStage = ScramStage.Finishing)
173 173
 
174 174
         mechanism.handleAuthenticationEvent(ircClient, "e=whoops".toByteArray())
175 175
 
176
-        verify(ircClient).send("AUTHENTICATE", "*")
176
+        verify { ircClient.send("AUTHENTICATE", "*") }
177 177
     }
178 178
 
179 179
     @Test
@@ -183,14 +183,14 @@ internal class ScramMechanismTest {
183 183
             password = "pencil"
184 184
         })
185 185
 
186
-        serverState.sasl.mechanismState = ScramState(
186
+        fakeServerState.sasl.mechanismState = ScramState(
187 187
                 scramStage = ScramStage.Finishing,
188 188
                 saltedPassword = "HZbuOlKbWl+eR8AfIposuKbhX30=".fromBase64(),
189 189
                 authMessage = "n=user,r=fyko+d2lbbFgONRv9qkxdawL,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92,i=4096,c=biws,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j".toByteArray())
190 190
 
191 191
         mechanism.handleAuthenticationEvent(ircClient, "".toByteArray())
192 192
 
193
-        verify(ircClient).send("AUTHENTICATE", "*")
193
+        verify { ircClient.send("AUTHENTICATE", "*") }
194 194
     }
195 195
 
196 196
     @Test
@@ -200,14 +200,14 @@ internal class ScramMechanismTest {
200 200
             password = "pencil"
201 201
         })
202 202
 
203
-        serverState.sasl.mechanismState = ScramState(
203
+        fakeServerState.sasl.mechanismState = ScramState(
204 204
                 scramStage = ScramStage.Finishing,
205 205
                 saltedPassword = "HZbuOlKbWl+eR8AfIposuKbhX30=".fromBase64(),
206 206
                 authMessage = "n=user,r=fyko+d2lbbFgONRv9qkxdawL,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92,i=4096,c=biws,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j".toByteArray())
207 207
 
208 208
         mechanism.handleAuthenticationEvent(ircClient, "v=rmF9pqV8S7suAoZWja4dJRkF=".toByteArray())
209 209
 
210
-        verify(ircClient).send("AUTHENTICATE", "*")
210
+        verify { ircClient.send("AUTHENTICATE", "*") }
211 211
     }
212 212
 
213 213
     @Test
@@ -217,14 +217,14 @@ internal class ScramMechanismTest {
217 217
             password = "pencil"
218 218
         })
219 219
 
220
-        serverState.sasl.mechanismState = ScramState(
220
+        fakeServerState.sasl.mechanismState = ScramState(
221 221
                 scramStage = ScramStage.Finishing,
222 222
                 saltedPassword = "HZbuOlKbWl+eR8AfIposuKbhX30=".fromBase64(),
223 223
                 authMessage = "n=user,r=fyko+d2lbbFgONRv9qkxdawL,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j,s=QSXCR+Q6sek8bf92,i=4096,c=biws,r=fyko+d2lbbFgONRv9qkxdawL3rfcNHYJY1ZVvWVs7j".toByteArray())
224 224
 
225 225
         mechanism.handleAuthenticationEvent(ircClient, "v=rmF9pqV8S7suAoZWja4dJRkFsKQ=".toByteArray())
226 226
 
227
-        verify(ircClient).send("AUTHENTICATE", "+")
227
+        verify { ircClient.send("AUTHENTICATE", "+") }
228 228
     }
229 229
 
230 230
 }

Loading…
Cancel
Save