summaryrefslogtreecommitdiff
path: root/qa/spec/runtime/api_request_spec.rb
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-01-23 13:04:58 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-01-23 13:04:58 +0100
commit41498864a083663fa29131f8af74c69e82213055 (patch)
treeb838012a9480b20acb9b80ba9a2bd5e649d117e4 /qa/spec/runtime/api_request_spec.rb
parentd327277c39df1537b41073912d9b4e9f765d8da5 (diff)
parent4dc42845f2ceadcff76a99908220e61610c5b608 (diff)
downloadgitlab-ce-41498864a083663fa29131f8af74c69e82213055.tar.gz
Merge branch 'master' into qa/gb/ci-cd-qa-pipelines
* master: (69 commits) Conflicts: qa/qa.rb
Diffstat (limited to 'qa/spec/runtime/api_request_spec.rb')
-rw-r--r--qa/spec/runtime/api_request_spec.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/qa/spec/runtime/api_request_spec.rb b/qa/spec/runtime/api_request_spec.rb
new file mode 100644
index 00000000000..9a1ed8a7a46
--- /dev/null
+++ b/qa/spec/runtime/api_request_spec.rb
@@ -0,0 +1,42 @@
+describe QA::Runtime::API::Request do
+ include Support::StubENV
+
+ before do
+ stub_env('PERSONAL_ACCESS_TOKEN', 'a_token')
+ end
+
+ let(:client) { QA::Runtime::API::Client.new('http://example.com') }
+ let(:request) { described_class.new(client, '/users') }
+
+ describe '#url' do
+ it 'returns the full api request url' do
+ expect(request.url).to eq 'http://example.com/api/v4/users?private_token=a_token'
+ end
+ end
+
+ describe '#request_path' do
+ it 'prepends the api path' do
+ expect(request.request_path('/users')).to eq '/api/v4/users'
+ end
+
+ it 'adds the personal access token' do
+ expect(request.request_path('/users', personal_access_token: 'token'))
+ .to eq '/api/v4/users?private_token=token'
+ end
+
+ it 'adds the oauth access token' do
+ expect(request.request_path('/users', oauth_access_token: 'otoken'))
+ .to eq '/api/v4/users?access_token=otoken'
+ end
+
+ it 'respects query parameters' do
+ expect(request.request_path('/users?page=1')).to eq '/api/v4/users?page=1'
+ expect(request.request_path('/users?page=1', personal_access_token: 'token'))
+ .to eq '/api/v4/users?page=1&private_token=token'
+ end
+
+ it 'uses a different api version' do
+ expect(request.request_path('/users', version: 'v3')).to eq '/api/v3/users'
+ end
+ end
+end