Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-09-04 01:53:13 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-09-04 01:53:13 +0400
commit7b8bd93e673a6ace673cab00e0cc10489d64437d (patch)
treecba065f5e4fe1ce2844f7fd1aea7b34aefc664f9 /spec/lib
parent3832b2aa679d71dc857f4a6083f0038a2eeb7a9f (diff)
Rewrite OAuth specs
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/auth_spec.rb100
-rw-r--r--spec/lib/oauth_spec.rb44
2 files changed, 56 insertions, 88 deletions
diff --git a/spec/lib/auth_spec.rb b/spec/lib/auth_spec.rb
index 2784d4e2fbe..e05fde95731 100644
--- a/spec/lib/auth_spec.rb
+++ b/spec/lib/auth_spec.rb
@@ -3,102 +3,26 @@ require 'spec_helper'
describe Gitlab::Auth do
let(:gl_auth) { Gitlab::Auth.new }
- before do
- Gitlab.config.stub(omniauth: {})
-
- @info = mock(
- uid: '12djsak321',
- name: 'John',
- email: 'john@mail.com'
- )
- end
-
- describe :find_for_ldap_auth do
+ describe :find do
before do
- @auth = mock(
- uid: '12djsak321',
- info: @info,
- provider: 'ldap'
+ @user = create(
+ :user,
+ username: 'john',
+ password: '888777',
+ password_confirmation: '888777'
)
end
- it "should find by uid & provider" do
- User.should_receive :find_by_extern_uid_and_provider
- gl_auth.find_for_ldap_auth(@auth)
- end
-
- it "should update credentials by email if missing uid" do
- user = double('User')
- User.stub find_by_extern_uid_and_provider: nil
- User.stub find_by_email: user
- user.should_receive :update_attributes
- gl_auth.find_for_ldap_auth(@auth)
- end
-
-
- it "should create from auth if user does not exist"do
- User.stub find_by_extern_uid_and_provider: nil
- User.stub find_by_email: nil
- gl_auth.should_receive :create_from_omniauth
- gl_auth.find_for_ldap_auth(@auth)
- end
- end
-
- describe :find_or_new_for_omniauth do
- before do
- @auth = mock(
- info: @info,
- provider: 'twitter',
- uid: '12djsak321',
- )
+ it "should find user by valid login/password" do
+ gl_auth.find('john', '888777').should == @user
end
- it "should find user"do
- User.should_receive :find_by_provider_and_extern_uid
- gl_auth.should_not_receive :create_from_omniauth
- gl_auth.find_or_new_for_omniauth(@auth)
+ it "should not find user with invalid password" do
+ gl_auth.find('john', 'invalid').should_not == @user
end
- it "should not create user"do
- User.stub find_by_provider_and_extern_uid: nil
- gl_auth.should_not_receive :create_from_omniauth
- gl_auth.find_or_new_for_omniauth(@auth)
- end
-
- it "should create user if single_sing_on"do
- Gitlab.config.omniauth['allow_single_sign_on'] = true
- User.stub find_by_provider_and_extern_uid: nil
- gl_auth.should_receive :create_from_omniauth
- gl_auth.find_or_new_for_omniauth(@auth)
- end
- end
-
- describe :create_from_omniauth do
- it "should create user from LDAP" do
- @auth = mock(info: @info, provider: 'ldap')
- user = gl_auth.create_from_omniauth(@auth, true)
-
- user.should be_valid
- user.extern_uid.should == @info.uid
- user.provider.should == 'ldap'
- end
-
- it "should create user from Omniauth" do
- @auth = mock(info: @info, provider: 'twitter')
- user = gl_auth.create_from_omniauth(@auth, false)
-
- user.should be_valid
- user.extern_uid.should == @info.uid
- user.provider.should == 'twitter'
- end
-
- it "should apply defaults to user" do
- @auth = mock(info: @info, provider: 'ldap')
- user = gl_auth.create_from_omniauth(@auth, true)
-
- user.should be_valid
- user.projects_limit.should == Gitlab.config.gitlab.default_projects_limit
- user.can_create_group.should == Gitlab.config.gitlab.default_can_create_group
+ it "should not find user with invalid login and password" do
+ gl_auth.find('jon', 'invalid').should_not == @user
end
end
end
diff --git a/spec/lib/oauth_spec.rb b/spec/lib/oauth_spec.rb
new file mode 100644
index 00000000000..e21074554b6
--- /dev/null
+++ b/spec/lib/oauth_spec.rb
@@ -0,0 +1,44 @@
+require 'spec_helper'
+
+describe Gitlab::OAuth::User do
+ let(:gl_auth) { Gitlab::OAuth::User }
+
+ before do
+ Gitlab.config.stub(omniauth: {})
+
+ @info = mock(
+ uid: '12djsak321',
+ name: 'John',
+ email: 'john@mail.com'
+ )
+ end
+
+ describe :create do
+ it "should create user from LDAP" do
+ @auth = mock(info: @info, provider: 'ldap')
+ user = gl_auth.create(@auth)
+
+ user.should be_valid
+ user.extern_uid.should == @info.uid
+ user.provider.should == 'ldap'
+ end
+
+ it "should create user from Omniauth" do
+ @auth = mock(info: @info, provider: 'twitter')
+ user = gl_auth.create(@auth)
+
+ user.should be_valid
+ user.extern_uid.should == @info.uid
+ user.provider.should == 'twitter'
+ end
+
+ it "should apply defaults to user" do
+ @auth = mock(info: @info, provider: 'ldap')
+ user = gl_auth.create(@auth)
+
+ user.should be_valid
+ user.projects_limit.should == Gitlab.config.gitlab.default_projects_limit
+ user.can_create_group.should == Gitlab.config.gitlab.default_can_create_group
+ end
+ end
+end