/* Ċ Ġ* ĠÂ© Ġ 2 0 1 8 ĠMatch ĠGroup , ĠLLC . Ċ Ġ*/ Ċ Ċ package Ġcom . t inder . sc ar let . websocket . okhttp Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . then Ċ import Ġokhttp 3 . WebSocket Ċ import Ġok io . ByteString Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . junit . Mockito JUnit Runner Ċ Ċ @ RunWith ( Mockito JUnit Runner :: class ) Ċ internal Ġclass ĠOk Http WebSocket Holder Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġweb Socket Ġ= Ġmock < WebSocket > Ġ{ ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġsend ( any < String >()) Ġ} Ġdo Return Ġtrue ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġsend ( any < ByteString >()) Ġ} Ġdo Return Ġtrue ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġclose ( any (), Ġany ()) Ġ} Ġdo Return Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġweb Socket Holder Ġ= ĠOk Http WebSocket Holder () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsend Text _ given Is Initi ated _ should Delegate To WebSocket () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġweb Socket Holder . init iate ( web Socket ) ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ" Hello " ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġis Successful Ġ= Ġweb Socket Holder . send ( text ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertThat ( is Successful ). isTrue () ĊĠĠĠĠĠĠĠ Ġthen ( web Socket ). should (). send ( text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsend Text _ given IsNot Initi ated _ should Return False () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ" Hello " ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġis Successful Ġ= Ġweb Socket Holder . send ( text ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertThat ( is Successful ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsend Bytes _ given Is Initi ated _ should Delegate To WebSocket () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġweb Socket Holder . init iate ( web Socket ) ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= Ġ" H ey ". toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġbyte String Ġ= ĠByte String . of (* bytes ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġis Successful Ġ= Ġweb Socket Holder . send ( byte String ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ Ġthen ( web Socket ). should (). send ( byte String ) ĊĠĠĠĠĠĠĠ ĠassertThat ( is Successful ). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsend Bytes _ given IsNot Initi ated _ should Return False () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= Ġ" H ey ". toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġbyte String Ġ= ĠByte String . of (* bytes ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġis Successful Ġ= Ġweb Socket Holder . send ( byte String ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertThat ( is Successful ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġclose _ given Is Initi ated _ should Delegate To WebSocket () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġweb Socket Holder . init iate ( web Socket ) ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ 1 0 0 1 ĊĠĠĠĠĠĠĠ Ġval Ġreason Ġ= Ġ" Some Ġreason " ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġis Successful Ġ= Ġweb Socket Holder . close ( code , Ġreason ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ Ġthen ( web Socket ). should (). close ( code , Ġreason ) ĊĠĠĠĠĠĠĠ ĠassertThat ( is Successful ). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġclose _ given IsNot Initi ated _ should Return False () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ 1 0 0 1 ĊĠĠĠĠĠĠĠ Ġval Ġreason Ġ= Ġ" Some Ġreason " ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġis Successful Ġ= Ġweb Socket Holder . close ( code , Ġreason ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertThat ( is Successful ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcancel _ given Is Initi ated _ should Delegate To WebSocket () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġweb Socket Holder . init iate ( web Socket ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġweb Socket Holder . cancel () ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ Ġthen ( web Socket ). should (). cancel () ĊĠĠĠ Ġ} Ċ } Ċ