Sha256: ad4376a11dcea3e4060a6d2d11c069baf963396b90167c687d1088220da3e7e0
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
# frozen_string_literal: true require_relative 'helper' require 'localhost/authority' class SocketTest < MiniTest::Test def setup super end def test_tcp port = rand(1234..5678) server = TCPServer.new('127.0.0.1', port) server_fiber = spin do while (socket = server.accept) spin do while (data = socket.gets(8192)) socket << data end end end end snooze client = TCPSocket.new('127.0.0.1', port) client.write("1234\n") assert_equal "1234\n", client.readpartial(8192) client.close ensure server_fiber&.stop server_fiber&.await server&.close end def test_openssl authority = Localhost::Authority.fetch context = authority.server_context port = rand(1234..5678) sock = TCPServer.new('127.0.0.1', port) server = OpenSSL::SSL::SSLServer.new(sock, context) server_fiber = spin do while (socket = server.accept) puts "accepted: #{socket.inspect}" spin do while (data = socket.gets(8192)) socket << data end end end end snooze p 1 sock = TCPSocket.new('127.0.0.1', port) p 2 sock.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) context = OpenSSL::SSL::SSLContext.new context.verify_mode = OpenSSL::SSL::VERIFY_NONE client = OpenSSL::SSL::SSLSocket.new(sock, context) client.sync_close = true client.hostname = 'localhost' p 3 client.connect p 4 client.write("GET / HTTP/1.0\r\nHost: realiteq.net\r\n\r\n")#("1234\n") p 5 assert_equal "1234\n", client.readpartial(8192) p 6 client.close ensure server_fiber&.stop server_fiber&.await server&.close end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
polyphony-0.43.6 | test/test_socket.rb |