summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2017-10-23 15:57:06 +0300
committerMike Greiling <mike@pixelcog.com>2017-10-23 17:00:42 +0300
commita92693df7742214a44caa521f9be7ab52f99d6b6 (patch)
tree859a970ec67d55078a3a53af225aadf08f026363
parentb612bcfc64618906b5b11a245fb0aa2452d6c5dd (diff)
downloadgitlab-ce-a92693df7742214a44caa521f9be7ab52f99d6b6.tar.gz
add InspectRequests helper
-rw-r--r--lib/gitlab/testing/request_inspector_middleware.rb5
-rw-r--r--spec/features/projects/environments/environment_spec.rb9
-rw-r--r--spec/support/inspect_requests.rb15
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