Remove default route (#6137)
* Remove default route * Fix and clean legacy specs * Fix specs * Fix missing ID in request parameters in view specs https://stackoverflow.com/a/21789313 * Fix more invalid routes in specs * Pass parameter to omniauth spec * Add required ID parameter to types controller * Fix invalid omniauth URL * Fix project_id params in repository controller spec * Fix missing project id in projects controller spec * Fix missing params and failure url for omniauth * Fix invalid route name * Temporarily skip broken specs on dev [ci skip]pull/6144/head
parent
20fed02b99
commit
26dff6132e
@ -1,57 +0,0 @@ |
||||
#-- encoding: UTF-8 |
||||
|
||||
#-- copyright |
||||
# OpenProject is a project management system. |
||||
# Copyright (C) 2012-2017 the OpenProject Foundation (OPF) |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License version 3. |
||||
# |
||||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# See doc/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
|
||||
class MailHandlerController < ActionController::Base |
||||
before_action :check_credential |
||||
|
||||
verify method: :post, |
||||
only: :index, |
||||
render: { nothing: true, status: 405 } |
||||
|
||||
# Submits an incoming email to MailHandler |
||||
def index |
||||
options = params.dup |
||||
email = options.delete(:email) |
||||
if MailHandler.receive(email, options) |
||||
head :created |
||||
else |
||||
head :unprocessable_entity |
||||
end |
||||
end |
||||
|
||||
private |
||||
|
||||
def check_credential |
||||
User.current = nil |
||||
unless Setting.mail_handler_api_enabled? && params[:key].to_s == Setting.mail_handler_api_key |
||||
render plain: 'Access denied. Incoming emails WS is disabled or key is invalid.', status: 403 |
||||
end |
||||
end |
||||
end |
@ -1,59 +0,0 @@ |
||||
#-- encoding: UTF-8 |
||||
|
||||
#-- copyright |
||||
# OpenProject is a project management system. |
||||
# Copyright (C) 2012-2017 the OpenProject Foundation (OPF) |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License version 3. |
||||
# |
||||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# See doc/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
require_relative '../legacy_spec_helper' |
||||
require 'mail_handler_controller' |
||||
|
||||
describe MailHandlerController, type: :controller do |
||||
fixtures :all |
||||
|
||||
FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures/mail_handler' |
||||
|
||||
before do |
||||
User.current = nil |
||||
end |
||||
|
||||
it 'should _create_issue' do |
||||
# Enable API and set a key |
||||
Setting.mail_handler_api_enabled = 1 |
||||
Setting.mail_handler_api_key = 'secret' |
||||
|
||||
post :index, params: { key: 'secret', email: IO.read(File.join(FIXTURES_PATH, 'ticket_on_given_project.eml')) } |
||||
assert_response 201 |
||||
end |
||||
|
||||
it 'should _not_allow' do |
||||
# Disable API |
||||
Setting.mail_handler_api_enabled = 0 |
||||
Setting.mail_handler_api_key = 'secret' |
||||
|
||||
post :index, params: { key: 'secret', email: IO.read(File.join(FIXTURES_PATH, 'ticket_on_given_project.eml')) } |
||||
assert_response 403 |
||||
end |
||||
end |
Loading…
Reference in new issue