diff options
Diffstat (limited to 'qa/qa/specs/features/api/1_manage/users_spec.rb')
-rw-r--r-- | qa/qa/specs/features/api/1_manage/users_spec.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/qa/qa/specs/features/api/1_manage/users_spec.rb b/qa/qa/specs/features/api/1_manage/users_spec.rb new file mode 100644 index 00000000000..3d25cca1e59 --- /dev/null +++ b/qa/qa/specs/features/api/1_manage/users_spec.rb @@ -0,0 +1,41 @@ +module QA + describe 'API users' do + before(:context) do + @api_client = Runtime::API::Client.new(:gitlab) + end + + context 'when authenticated' do + let(:request) { Runtime::API::Request.new(@api_client, '/users') } + + it 'get list of users' do + get request.url + + expect_status(200) + end + + it 'submit request with a valid user name' do + get request.url, { params: { username: Runtime::User.username } } + + expect_status(200) + expect(json_body).to contain_exactly( + a_hash_including(username: Runtime::User.username) + ) + end + + it 'submit request with an invalid user name' do + get request.url, { params: { username: SecureRandom.hex(10) } } + + expect_status(200) + expect(json_body).to eq([]) + end + end + + it 'submit request with an invalid token' do + request = Runtime::API::Request.new(@api_client, '/users', private_token: 'invalid') + + get request.url + + expect_status(401) + end + end +end |