RegressionTests__WebSocketTest.st
changeset 2559 759cc7c31212
parent 2558 a557369b74e2
child 2560 a07e78fcf07f
--- a/RegressionTests__WebSocketTest.st	Thu Feb 06 11:20:09 2020 +0100
+++ b/RegressionTests__WebSocketTest.st	Fri Feb 07 10:36:59 2020 +0100
@@ -5,17 +5,17 @@
 "{ NameSpace: RegressionTests }"
 
 TestCase subclass:#WebSocketTest
-        instanceVariableNames:''
-        classVariableNames:'ServerWebSocket ClientWebSocket'
-        poolDictionaries:''
-        category:'tests-Regression-Web'
+	instanceVariableNames:''
+	classVariableNames:'ServerWebSocket ClientWebSocket'
+	poolDictionaries:''
+	category:'tests-Regression-Web'
 !
 
 HTTPService subclass:#DemoWebSocketService
-        instanceVariableNames:'webSocketCreationCallback'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:WebSocketTest
+	instanceVariableNames:'webSocketCreationCallback'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:WebSocketTest
 !
 
 !WebSocketTest class methodsFor:'documentation'!
@@ -541,6 +541,45 @@
     "Created: / 23-01-2020 / 11:32:34 / Stefan Reise"
 !
 
+testCommunication100WithPingsBetween
+    "
+        WebSocketStream verbose:true.
+        WebSocketStream verboseProtocol:true.
+
+        WebSocketStream verbose:false.
+        WebSocketStream verboseProtocol:false.
+
+        WebSocketStream maxBytesPerFrame:1024. 
+        WebSocketStream maxBytesPerFrame:nil.      
+    "
+
+    |finishSema pingDuration|
+
+    finishSema := Semaphore new.
+
+    [
+        self 
+            communicationWithData:self data100
+            doAssert:true.
+
+        finishSema signal.
+    ] forkAt:4.
+
+    Delay waitForMilliseconds:1.
+    pingDuration := self clientWebSocket ping. 
+    Transcript showCR:'pingDuration: ', pingDuration printString.
+    self assert:pingDuration < 10 seconds.
+
+    Delay waitForMilliseconds:1.
+    pingDuration := self serverWebSocket ping. 
+    Transcript showCR:'pingDuration: ', pingDuration printString.
+    self assert:pingDuration < 10 seconds.
+
+    finishSema wait.
+
+    "Created: / 07-02-2020 / 10:22:01 / Stefan Reise"
+!
+
 testCommunicationByteArray100
     "
         !! call the following method in case the sockets did get corrupted !!