summaryrefslogtreecommitdiff
path: root/spec/integration/knife/redirection_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/integration/knife/redirection_spec.rb')
-rw-r--r--spec/integration/knife/redirection_spec.rb20
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