@@ -8,25 +8,23 @@ import com.nhaarman.mockitokotlin2.never
88import com.nhaarman.mockitokotlin2.spy
99import com.nhaarman.mockitokotlin2.times
1010import com.nhaarman.mockitokotlin2.verify
11- import com.nhaarman.mockitokotlin2.verifyZeroInteractions
1211import com.nhaarman.mockitokotlin2.whenever
12+ import okhttp3.OkHttpClient
1313import org.junit.jupiter.api.AfterEach
1414import org.junit.jupiter.api.BeforeEach
1515import org.junit.jupiter.api.DisplayName
1616import org.junit.jupiter.api.Nested
1717import org.junit.jupiter.api.Test
1818import org.mockito.Mock
19+ import org.mockito.Mockito.verifyZeroInteractions
1920import org.mockito.MockitoAnnotations
20- import org.mockito.stubbing.Answer
2121import org.phoenixframework.queue.ManualDispatchQueue
2222import org.phoenixframework.utilities.getBindings
2323
2424class ChannelTest {
2525
26- companion object {
27- const val DEFAULT_REF = " 1"
28- const val DEFAULT_TIMEOUT = 10_000L
29- }
26+
27+ @Mock lateinit var okHttpClient: OkHttpClient
3028
3129 @Mock lateinit var socket: Socket
3230 @Mock lateinit var mockCallback: ((Message ) -> Unit )
@@ -39,17 +37,10 @@ class ChannelTest {
3937 lateinit var fakeClock: ManualDispatchQueue
4038 lateinit var channel: Channel
4139
42- var mutableRef = 0
43- var mutableRefAnswer: Answer <String > = Answer {
44- mutableRef + = 1
45- mutableRef.toString()
46- }
47-
4840 @BeforeEach
4941 internal fun setUp () {
5042 MockitoAnnotations .initMocks(this )
5143
52- mutableRef = 0
5344 fakeClock = ManualDispatchQueue ()
5445
5546 whenever(socket.dispatchQueue).thenReturn(fakeClock)
@@ -164,7 +155,7 @@ class ChannelTest {
164155
165156 @BeforeEach
166157 internal fun setUp () {
167- socket = spy(Socket (" https://localhost:4000/socket" ))
158+ socket = spy(Socket (url = " https://localhost:4000/socket" , client = okHttpClient ))
168159 socket.dispatchQueue = fakeClock
169160 channel = Channel (" topic" , kDefaultPayload, socket)
170161 }
@@ -260,56 +251,22 @@ class ChannelTest {
260251
261252 channel.join().receive(" timeout" , mockCallback)
262253
263- verify(socket, times(1 )).push(any(), any( ), any(), any(), any())
254+ verify(socket, times(1 )).push(any(), eq( " phx_join " ), any(), any(), any())
264255 verify(mockCallback, never()).invoke(any())
265256
266257 fakeClock.tick(timeout) // leave pushed to server
267- verify(socket, times(2 )).push(any(), any( ), any(), any(), any())
258+ verify(socket, times(1 )).push(any(), eq( " phx_leave " ), any(), any(), any())
268259 verify(mockCallback, times(1 )).invoke(any())
269260
270- fakeClock.tick(timeout + 1000 ) // leave + rejoin
271- verify(socket, times(4 )).push(any(), any(), any(), any(), any())
261+ fakeClock.tick(timeout + 1000 ) // rejoin
262+ verify(socket, times(2 )).push(any(), eq(" phx_join" ), any(), any(), any())
263+ verify(socket, times(2 )).push(any(), eq(" phx_leave" ), any(), any(), any())
272264 verify(mockCallback, times(2 )).invoke(any())
273265
274266 fakeClock.tick(10_000 )
275267 joinPush.trigger(" ok" , kEmptyPayload)
276- verify(socket, times(6 )).push(any(), any( ), any(), any(), any())
268+ verify(socket, times(3 )).push(any(), eq( " phx_join " ), any(), any(), any())
277269 assertThat(channel.state).isEqualTo(Channel .State .JOINED )
278-
279- // var ref = 0
280- // whenever(socket.isConnected).thenReturn(true)
281- // whenever(socket.makeRef()).thenAnswer {
282- // ref += 1
283- // ref.toString()
284- // }
285- //
286- // val joinPush = channel.joinPush
287- // val timeout = channel.timeout
288- //
289- // channel.join()
290- // verify(socket, times(1)).push(any(), any(), any(), any(), any())
291- //
292- // fakeClock.tick(timeout) // leave push sent to the server
293- // verify(socket, times(2)).push(any(), any(), any(), any(), any())
294- //
295- // fakeClock.tick(1_000) // begin stepped backoff
296- // verify(socket, times(3)).push(any(), any(), any(), any(), any())
297- //
298- // fakeClock.tick(2_000)
299- // verify(socket, times(4)).push(any(), any(), any(), any(), any())
300- //
301- // fakeClock.tick(5_000)
302- // verify(socket, times(5)).push(any(), any(), any(), any(), any())
303- //
304- // fakeClock.tick(10_000)
305- // verify(socket, times(6)).push(any(), any(), any(), any(), any())
306- //
307- // joinPush.trigger("ok", kEmptyPayload)
308- // assertThat(channel.state).isEqualTo(Channel.State.JOINED)
309- //
310- // fakeClock.tick(10_000)
311- // verify(socket, times(6)).push(any(), any(), any(), any(), any())
312- // assertThat(channel.state).isEqualTo(Channel.State.JOINED)
313270 }
314271
315272 @Test
0 commit comments