summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2023-12-22 02:08:53 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2023-12-22 02:08:53 +0000
commitc17b42509b2a79e53d19facfa00fcc16ec401cf9 (patch)
treebf1b7b3f3f35d34448129b0c35e387cb0d78f23a /test
parentcb10b529cb4c7413abc1c8b5390f549b38a1220a (diff)
downloadredmine-c17b42509b2a79e53d19facfa00fcc16ec401cf9.tar.gz
redmine-c17b42509b2a79e53d19facfa00fcc16ec401cf9.zip
Fixes attachments functionality for (custom) plugins broken since fix for CVE-2022-44030 by adding a dynamic routing constraint which can be modified by plugins (#39862).
Patch by @jkraemer. git-svn-id: https://svn.redmine.org/redmine/trunk@22551 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/plugins/redmine_test_plugin_foo/init.rb2
-rw-r--r--test/integration/routing/plugins_test.rb5
2 files changed, 7 insertions, 0 deletions
diff --git a/test/fixtures/plugins/redmine_test_plugin_foo/init.rb b/test/fixtures/plugins/redmine_test_plugin_foo/init.rb
index bdbff5d95..990e7c2d8 100644
--- a/test/fixtures/plugins/redmine_test_plugin_foo/init.rb
+++ b/test/fixtures/plugins/redmine_test_plugin_foo/init.rb
@@ -5,6 +5,8 @@ Redmine::Plugin.register :redmine_test_plugin_foo do
version '0.0.1'
end
+Redmine::Acts::Attachable::ObjectTypeConstraint.register_object_type('plugin_articles')
+
Pathname(__dir__).glob("app/**/*.rb").sort.each do |path|
require path
end
diff --git a/test/integration/routing/plugins_test.rb b/test/integration/routing/plugins_test.rb
index 0124e759f..aeefa43bd 100644
--- a/test/integration/routing/plugins_test.rb
+++ b/test/integration/routing/plugins_test.rb
@@ -43,5 +43,10 @@ class RoutingPluginsTest < Redmine::RoutingTest
should_route 'GET /plugin_articles' => 'plugin_articles#index'
should_route 'GET /bar_plugin_articles' => 'bar_plugin_articles#index'
assert_equal("/bar_plugin_articles", plugin_articles_path)
+ should_route(
+ 'GET /attachments/plugin_articles/12/edit' => 'attachments#edit_all',
+ object_id: '12',
+ object_type: 'plugin_articles'
+ )
end
end