Class: Spikard::Testing::WebSocketTestConnection

Inherits:
Object
  • Object
show all
Defined in:
lib/spikard/testing.rb

Overview

WebSocket test connection wrapper

Instance Method Summary collapse

Constructor Details

#initialize(native_ws) ⇒ WebSocketTestConnection

Returns a new instance of WebSocketTestConnection.



128
129
130
# File 'lib/spikard/testing.rb', line 128

def initialize(native_ws)
  @native_ws = native_ws
end

Instance Method Details

#closeObject



164
165
166
167
# File 'lib/spikard/testing.rb', line 164

def close
  Testing.trace('websocket:close')
  @native_ws.close
end

#receive_bytesObject



155
156
157
# File 'lib/spikard/testing.rb', line 155

def receive_bytes
  receive_text
end

#receive_jsonObject



150
151
152
153
# File 'lib/spikard/testing.rb', line 150

def receive_json
  Testing.trace('websocket:receive_json')
  with_timeout { @native_ws.receive_json }
end

#receive_messageObject



159
160
161
162
# File 'lib/spikard/testing.rb', line 159

def receive_message
  native_msg = @native_ws.receive_message
  WebSocketMessage.new(native_msg)
end

#receive_textObject



142
143
144
145
146
147
148
# File 'lib/spikard/testing.rb', line 142

def receive_text
  Testing.trace('websocket:receive_text')
  raw = with_timeout { @native_ws.receive_text }
  JSON.parse(raw)
rescue JSON::ParserError
  raw
end

#send_json(obj) ⇒ Object



137
138
139
140
# File 'lib/spikard/testing.rb', line 137

def send_json(obj)
  Testing.trace('websocket:send_json')
  @native_ws.send_json(obj)
end

#send_text(text) ⇒ Object



132
133
134
135
# File 'lib/spikard/testing.rb', line 132

def send_text(text)
  Testing.trace('websocket:send_text')
  @native_ws.send_text(JSON.generate(text))
end