diff options
author | Mike Greiling <mike@pixelcog.com> | 2017-10-23 15:57:06 +0300 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2017-10-23 17:00:42 +0300 |
commit | a92693df7742214a44caa521f9be7ab52f99d6b6 (patch) | |
tree | 859a970ec67d55078a3a53af225aadf08f026363 | |
parent | b612bcfc64618906b5b11a245fb0aa2452d6c5dd (diff) | |
download | gitlab-ce-a92693df7742214a44caa521f9be7ab52f99d6b6.tar.gz |
add InspectRequests helper
-rw-r--r-- | lib/gitlab/testing/request_inspector_middleware.rb | 5 | ||||
-rw-r--r-- | spec/features/projects/environments/environment_spec.rb | 9 | ||||
-rw-r--r-- | spec/support/inspect_requests.rb | 15 |
3 files changed, 24 insertions, 5 deletions
diff --git a/lib/gitlab/testing/request_inspector_middleware.rb b/lib/gitlab/testing/request_inspector_middleware.rb index 0ca21bd6a37..ff5bf9d74f4 100644 --- a/lib/gitlab/testing/request_inspector_middleware.rb +++ b/lib/gitlab/testing/request_inspector_middleware.rb @@ -30,12 +30,12 @@ module Gitlab request_headers = env_http_headers(env) status, headers, body = @app.call(env) - log_response({ + log_response(OpenStruct.new( url: url, status_code: status, request_headers: request_headers, response_headers: headers - }) + )) [status, headers, body] end @@ -52,7 +52,6 @@ module Gitlab def log_response(response) @@logged_requests.push(response) - STDOUT.puts response.to_json end end end diff --git a/spec/features/projects/environments/environment_spec.rb b/spec/features/projects/environments/environment_spec.rb index c9f12e877b3..e0fc60e45ae 100644 --- a/spec/features/projects/environments/environment_spec.rb +++ b/spec/features/projects/environments/environment_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' feature 'Environment' do + include InspectRequests + given(:project) { create(:project) } given(:user) { create(:user) } given(:role) { :developer } @@ -193,11 +195,14 @@ feature 'Environment' do create(:environment, project: project, name: 'staging-1.0/review', state: :available) - - visit folder_project_environments_path(project, id: 'staging-1.0') end it 'renders a correct environment folder' do + reqs = inspect_requests do + visit folder_project_environments_path(project, id: 'staging-1.0') + end + + expect(reqs.first.status_code).to eq(200) expect(page).to have_content('Environments / staging-1.0') end end diff --git a/spec/support/inspect_requests.rb b/spec/support/inspect_requests.rb new file mode 100644 index 00000000000..5947700c1ea --- /dev/null +++ b/spec/support/inspect_requests.rb @@ -0,0 +1,15 @@ +require_relative './wait_for_requests' + +module InspectRequests + extend self + include WaitForRequests + + def inspect_requests + Gitlab::Testing::RequestInspectorMiddleware.log_requests! + yield + block_and_wait_for_requests_complete + Gitlab::Testing::RequestInspectorMiddleware.requests + ensure + Gitlab::Testing::RequestInspectorMiddleware.stop_logging! + end +end |