diff options
Diffstat (limited to 'spec/integration/knife/redirection_spec.rb')
-rw-r--r-- | spec/integration/knife/redirection_spec.rb | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/spec/integration/knife/redirection_spec.rb b/spec/integration/knife/redirection_spec.rb index 5af9fd36e1..2ed49a7b24 100644 --- a/spec/integration/knife/redirection_spec.rb +++ b/spec/integration/knife/redirection_spec.rb @@ -15,38 +15,30 @@ # See the License for the specific language governing permissions and # limitations under the License. -require 'puma' require 'support/shared/integration/integration_helper' require 'chef/knife/list' describe 'redirection' do extend IntegrationSupport include KnifeSupport + include AppServerSupport when_the_chef_server 'has a role' do role 'x', {} context 'and another server redirects to it with 302' do before :each do - @real_chef_server_url = Chef::Config.chef_server_url + real_chef_server_url = Chef::Config.chef_server_url Chef::Config.chef_server_url = "http://127.0.0.1:9018" app = lambda do |env| - [302, {'Content-Type' => 'text','Location' => "#{@real_chef_server_url}#{env['PATH_INFO']}" }, ['302 found'] ] - end - @redirector_server = Puma::Server.new(app, Puma::Events.new(STDERR, STDOUT)) - @redirector_server.add_tcp_listener("127.0.0.1", 9018) - @redirector_server.run - Timeout::timeout(5) do - until @redirector_server.running - sleep(0.01) - end - raise @server_error if @server_error + [302, {'Content-Type' => 'text','Location' => "#{real_chef_server_url}#{env['PATH_INFO']}" }, ['302 found'] ] end + @redirector_server, @redirector_server_thread = start_app_server(app, 9018) end after :each do - Chef::Config.chef_server_url = @real_chef_server_url - @redirector_server.stop(true) + @redirector_server.shutdown if @redirector_server + @redirector_thread.kill if @redirector_thread end it 'knife list /roles returns the role' do |