summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/requests/api/issues_spec.rb2
-rw-r--r--spec/requests/api/projects_spec.rb2
-rw-r--r--spec/requests/api/users_spec.rb2
-rw-r--r--spec/spec_helper.rb1
-rw-r--r--spec/support/api_helpers.rb29
5 files changed, 33 insertions, 3 deletions
diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb
index f6d8e3792c2..4701ca2fd1a 100644
--- a/spec/requests/api/issues_spec.rb
+++ b/spec/requests/api/issues_spec.rb
@@ -1,6 +1,8 @@
require 'spec_helper'
describe Gitlab::API do
+ include ApiHelpers
+
let(:user) { Factory :user }
let!(:project) { Factory :project, owner: user }
let!(:issue) { Factory :issue, author: user, assignee: user, project: project }
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index ff45619e58a..a721ab3a763 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -1,6 +1,8 @@
require 'spec_helper'
describe Gitlab::API do
+ include ApiHelpers
+
let(:user) { Factory :user }
let!(:project) { Factory :project, owner: user }
let!(:snippet) { Factory :snippet, author: user, project: project, title: 'example' }
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb
index 32b9379d212..fcfea131046 100644
--- a/spec/requests/api/users_spec.rb
+++ b/spec/requests/api/users_spec.rb
@@ -1,6 +1,8 @@
require 'spec_helper'
describe Gitlab::API do
+ include ApiHelpers
+
let(:user) { Factory :user }
describe "GET /users" do
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index d3635ed1979..9fb0ad7e249 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -27,7 +27,6 @@ RSpec.configure do |config|
config.mock_with :rspec
config.include LoginHelpers, type: :request
- config.include ApiHelpers, type: :request
# If you're not using ActiveRecord, or you'd prefer not to run each of your
# examples within a transaction, remove the following line or assign false
diff --git a/spec/support/api_helpers.rb b/spec/support/api_helpers.rb
index e35d5735ec3..7d9011971dd 100644
--- a/spec/support/api_helpers.rb
+++ b/spec/support/api_helpers.rb
@@ -1,6 +1,31 @@
module ApiHelpers
- def api_prefix
- "/api/#{Gitlab::API::VERSION}"
+ # Public: Prepend a request path with the path to the API
+ #
+ # path - Path to append
+ # user - User object - If provided, automatically appends private_token query
+ # string for authenticated requests
+ #
+ # Examples
+ #
+ # >> api('/issues')
+ # => "/api/v2/issues"
+ #
+ # >> api('/issues', User.last)
+ # => "/api/v2/issues?private_token=..."
+ #
+ # >> api('/issues?foo=bar', User.last)
+ # => "/api/v2/issues?foo=bar&private_token=..."
+ #
+ # Returns the relative path to the requested API resource
+ def api(path, user = nil)
+ "/api/#{Gitlab::API::VERSION}#{path}" +
+
+ # Normalize query string
+ (path.index('?') ? '' : '?') +
+
+ # Append private_token if given a User object
+ (user.respond_to?(:private_token) ?
+ "&private_token=#{user.private_token}" : "")
end
def json_response