summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Walker <bwalker@gitlab.com>2018-01-06 14:34:18 +0100
committerBrett Walker <bwalker@gitlab.com>2018-01-22 17:25:10 +0100
commit75504fc9ef5425b64809bc6c786a289be0af227a (patch)
treefe8f605fce35eb9768878be0989075174855efb7
parent30e61dbddca3a7ac4c9b398703922bc25960a70c (diff)
downloadgitlab-ce-75504fc9ef5425b64809bc6c786a289be0af227a.tar.gz
initial user api spec for QA
-rw-r--r--qa/qa/specs/features/api/users_spec.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/qa/qa/specs/features/api/users_spec.rb b/qa/qa/specs/features/api/users_spec.rb
new file mode 100644
index 00000000000..f32ac674d7a
--- /dev/null
+++ b/qa/qa/specs/features/api/users_spec.rb
@@ -0,0 +1,32 @@
+module QA
+ feature 'API users', :core do
+ include Support::ApiHelpers
+
+ before(:context) do
+ product = Factory::Resource::PersonalAccessToken.fabricate!
+ @access_token = product.factory.access_token
+ end
+
+ context "when authenticated" do
+ scenario 'get list of users' do
+ response, json = Runtime::API.get(:gitlab, api('/users', personal_access_token: @access_token))
+ expect(response).to have_gitlab_api_status(200)
+ end
+
+ scenario 'returns an empty response when an invalid `username` parameter is passed' do
+ response, json = Runtime::API.get(:gitlab, api('/users', personal_access_token: @access_token),
+ username: 'invalid')
+
+ expect(response).to have_gitlab_api_status(200)
+ expect(json).to be_an Array
+ expect(json.size).to eq(0)
+ end
+ end
+
+ scenario "returns authorization error when token is invalid" do
+ response, json = Runtime::API.get(:gitlab, api('/users', personal_access_token: 'invalid'))
+
+ expect(response).to have_gitlab_api_status(401)
+ end
+ end
+end