summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-01 15:51:30 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-01 15:51:30 +0000
commit6159ec565c4fae1b32e948b676cfe7993afe46e2 (patch)
tree0cd273eaed375a5b2ddc90c339e4c391abf3efb6
parent4102eb3b85a1a9d43bebe116066719e6b0872566 (diff)
parent6143cef4c49d5a3e9c8c13a7328dcb6581d664f5 (diff)
downloadgitlab-ce-6159ec565c4fae1b32e948b676cfe7993afe46e2.tar.gz
Merge branch 'issue-broken-twitter-signup' into 'master'
Ensure Oath supports providers without email response See merge request !1054
-rw-r--r--lib/gitlab/oauth/user.rb1
-rw-r--r--spec/lib/gitlab/oauth/user_spec.rb12
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/gitlab/oauth/user.rb b/lib/gitlab/oauth/user.rb
index 0056eb3a28b..a252895493b 100644
--- a/lib/gitlab/oauth/user.rb
+++ b/lib/gitlab/oauth/user.rb
@@ -73,6 +73,7 @@ module Gitlab
end
def email
+ return unless auth.info.respond_to?(:email)
auth.info.email.downcase unless auth.info.email.nil?
end
diff --git a/spec/lib/gitlab/oauth/user_spec.rb b/spec/lib/gitlab/oauth/user_spec.rb
index 2f15b5e0349..60d9c4f8a9b 100644
--- a/spec/lib/gitlab/oauth/user_spec.rb
+++ b/spec/lib/gitlab/oauth/user_spec.rb
@@ -41,5 +41,17 @@ describe Gitlab::OAuth::User do
user.projects_limit.should == Gitlab.config.gitlab.default_projects_limit
user.can_create_group.should == Gitlab.config.gitlab.default_can_create_group
end
+
+ it "Set a temp email address if not provided (like twitter does)" do
+ info = double(
+ uid: 'my-uid',
+ nickname: 'john',
+ name: 'John'
+ )
+ auth = double(info: info, provider: 'my-provider')
+
+ user = gl_auth.create(auth)
+ expect(user.email).to_not be_empty
+ end
end
end