Handle user creation if email is not provided

This fixes #1541
parent 4198b58a
...@@ -73,6 +73,7 @@ module Gitlab ...@@ -73,6 +73,7 @@ module Gitlab
end end
def email def email
return unless auth.info.respond_to?(:email)
auth.info.email.downcase unless auth.info.email.nil? auth.info.email.downcase unless auth.info.email.nil?
end end
......
...@@ -41,5 +41,17 @@ describe Gitlab::OAuth::User do ...@@ -41,5 +41,17 @@ describe Gitlab::OAuth::User do
user.projects_limit.should == Gitlab.config.gitlab.default_projects_limit user.projects_limit.should == Gitlab.config.gitlab.default_projects_limit
user.can_create_group.should == Gitlab.config.gitlab.default_can_create_group user.can_create_group.should == Gitlab.config.gitlab.default_can_create_group
end 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
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment