Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 40 lines (28 sloc) 0.868 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
require "rbconfig"
require 'test/unit'
require 'puma/server'

require 'socket'

# UNIX sockets are not recommended on JRuby
# (or Windows)
unless defined?(JRUBY_VERSION) || RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
  class TestPumaUnixSocket < Test::Unit::TestCase
  
    App = lambda { |env| [200, {}, ["Works"]] }
  
    Path = "test/puma.sock"
  
    def setup
      @server = Puma::Server.new App
      @server.add_unix_listener Path
      @server.run
    end
  
    def teardown
      @server.stop(true)
      File.unlink Path if File.exists? Path
    end
  
    def test_server
      sock = UNIXSocket.new Path
  
      sock << "GET / HTTP/1.0\r\nHost: blah.com\r\n\r\n"
  
      expected = "HTTP/1.0 200 OK\r\nConnection: close\r\nContent-Length: 5\r\n\r\nWorks"
  
      assert_equal expected, sock.read(expected.size)
  
      sock.close
    end
  end
end
Something went wrong with that request. Please try again.