Module: DuoRuby::Testing

Defined in:
lib/duoruby/testing.rb

Defined Under Namespace

Classes: Connection

Class Method Summary collapse

Class Method Details

.connect(server: Server.new, socket: Socket.new, id: "client-1", metadata: {}) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/duoruby/testing.rb', line 10

def self.connect(server: Server.new, socket: Socket.new, id: "client-1", metadata: {})
  socket = socket.class.new if socket.is_a?(Class)
  client = nil
  socket_transport = proc { |message| server.receive(client, message) }

  socket.transport = socket_transport
  client = server.connect(id: id, metadata: ) { |message| socket.receive(message) }
  Connection.new(server: server, socket: socket, client: client)
end