require_relative 'helper' require_relative "helpers/integration" # These tests are used to verify that Puma works with SSL sockets. Only # integration tests isolate the server from the test environment, so there # should be a few SSL tests. # # For instance, since other tests make use of 'client' SSLSockets created by # net/http, OpenSSL is loaded in the CI process. By shelling out with IO.popen, # the server process isn't affected by whatever is loaded in the CI process. class TestIntegrationSSL < TestIntegration parallelize_me! if ::Puma.mri? require "net/http" require "openssl" def teardown @server.close unless @server.closed? @server = nil super end def generate_config(opts = nil) @bind_port = UniquePort.call @control_tcp_port = UniquePort.call config = <