Add tests for finding an oauth authenticated user
This commit is contained in:
parent
4198b58a8c
commit
0c34fa3ea0
|
@ -67,7 +67,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def uid
|
||||
uid = auth.info.uid || auth.uid
|
||||
uid = auth.info.try(:uid) || auth.uid
|
||||
uid = uid.to_s unless uid.nil?
|
||||
uid
|
||||
end
|
||||
|
|
|
@ -2,39 +2,54 @@ require 'spec_helper'
|
|||
|
||||
describe Gitlab::OAuth::User do
|
||||
let(:gl_auth) { Gitlab::OAuth::User }
|
||||
|
||||
before do
|
||||
Gitlab.config.stub(omniauth: {})
|
||||
|
||||
@info = double(
|
||||
uid: '12djsak321',
|
||||
let(:info) do
|
||||
double(
|
||||
uid: 'my-uid',
|
||||
nickname: 'john',
|
||||
name: 'John',
|
||||
email: 'john@mail.com'
|
||||
)
|
||||
end
|
||||
|
||||
before do
|
||||
Gitlab.config.stub(omniauth: {})
|
||||
end
|
||||
|
||||
describe :find do
|
||||
let!(:existing_user) { create(:user, extern_uid: 'my-uid', provider: 'my-provider') }
|
||||
|
||||
it "finds an existing user based on uid and provider (facebook)" do
|
||||
auth = double(info: double(name: 'John'), uid: 'my-uid', provider: 'my-provider')
|
||||
assert gl_auth.find(auth)
|
||||
end
|
||||
|
||||
it "finds an existing user based on nested uid and provider" do
|
||||
auth = double(info: info, provider: 'my-provider')
|
||||
assert gl_auth.find(auth)
|
||||
end
|
||||
end
|
||||
|
||||
describe :create do
|
||||
it "should create user from LDAP" do
|
||||
@auth = double(info: @info, provider: 'ldap')
|
||||
@auth = double(info: info, provider: 'ldap')
|
||||
user = gl_auth.create(@auth)
|
||||
|
||||
user.should be_valid
|
||||
user.extern_uid.should == @info.uid
|
||||
user.extern_uid.should == info.uid
|
||||
user.provider.should == 'ldap'
|
||||
end
|
||||
|
||||
it "should create user from Omniauth" do
|
||||
@auth = double(info: @info, provider: 'twitter')
|
||||
@auth = double(info: info, provider: 'twitter')
|
||||
user = gl_auth.create(@auth)
|
||||
|
||||
user.should be_valid
|
||||
user.extern_uid.should == @info.uid
|
||||
user.extern_uid.should == info.uid
|
||||
user.provider.should == 'twitter'
|
||||
end
|
||||
|
||||
it "should apply defaults to user" do
|
||||
@auth = double(info: @info, provider: 'ldap')
|
||||
@auth = double(info: info, provider: 'ldap')
|
||||
user = gl_auth.create(@auth)
|
||||
|
||||
user.should be_valid
|
||||
|
|
Loading…
Reference in New Issue