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.



130
131
132
# File 'lib/spikard/testing.rb', line 130

def initialize(native_ws)
  @native_ws = native_ws
end

Instance Method Details

#closeObject



166
167
168
169
# File 'lib/spikard/testing.rb', line 166

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

#receive_bytesObject



157
158
159
# File 'lib/spikard/testing.rb', line 157

def receive_bytes
  receive_text
end

#receive_jsonObject



152
153
154
155
# File 'lib/spikard/testing.rb', line 152

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

#receive_messageObject



161
162
163
164
# File 'lib/spikard/testing.rb', line 161

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

#receive_textObject



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

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



139
140
141
142
# File 'lib/spikard/testing.rb', line 139

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

#send_text(text) ⇒ Object



134
135
136
137
# File 'lib/spikard/testing.rb', line 134

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