Commit e616fbfd authored by Lin Jen-Shin's avatar Lin Jen-Shin

Only return the address if incoming emails is enabled:

Feedback from:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3363#note_12669123
parent 918646f8
...@@ -529,9 +529,11 @@ class Project < ActiveRecord::Base ...@@ -529,9 +529,11 @@ class Project < ActiveRecord::Base
end end
def new_issue_address(author) def new_issue_address(author)
if Gitlab::IncomingEmail.enabled?
Gitlab::IncomingEmail.reply_address( Gitlab::IncomingEmail.reply_address(
"#{path_with_namespace}+#{author.authentication_token}") "#{path_with_namespace}+#{author.authentication_token}")
end end
end
def build_commit_note(commit) def build_commit_note(commit)
notes.new(commit_id: commit.id, noteable_type: 'Commit') notes.new(commit_id: commit.id, noteable_type: 'Commit')
......
...@@ -130,13 +130,14 @@ describe Project, models: true do ...@@ -130,13 +130,14 @@ describe Project, models: true do
end end
describe "#new_issue_address" do describe "#new_issue_address" do
before do
stub_incoming_email_setting(address: "p+%{key}@gl.ab")
end
let(:project) { create(:empty_project, path: "somewhere") } let(:project) { create(:empty_project, path: "somewhere") }
let(:user) { create(:user) } let(:user) { create(:user) }
context 'incoming email enabled' do
before do
stub_incoming_email_setting(enabled: true, address: "p+%{key}@gl.ab")
end
it 'returns the address to create a new issue' do it 'returns the address to create a new issue' do
token = user.authentication_token token = user.authentication_token
address = "p+#{project.namespace.path}/#{project.path}+#{token}@gl.ab" address = "p+#{project.namespace.path}/#{project.path}+#{token}@gl.ab"
...@@ -145,6 +146,17 @@ describe Project, models: true do ...@@ -145,6 +146,17 @@ describe Project, models: true do
end end
end end
context 'incoming email disabled' do
before do
stub_incoming_email_setting(enabled: false)
end
it 'returns nil' do
expect(project.new_issue_address(user)).to be_nil
end
end
end
describe 'last_activity methods' do describe 'last_activity methods' do
let(:project) { create(:project) } let(:project) { create(:project) }
let(:last_event) { double(created_at: Time.now) } let(:last_event) { double(created_at: Time.now) }
......
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