Commit 439e134fb12d9479043910ed6db9a6eecc1d0fc6
Exists in
master
and in
29 other branches
Merge branch 'rails235' into AI2983-pg_search_escape_chars_fix
Showing
22 changed files
with
78 additions
and
23 deletions
Show diff stats
lib/noosfero/plugin.rb
... | ... | @@ -16,14 +16,7 @@ class Noosfero::Plugin |
16 | 16 | end |
17 | 17 | |
18 | 18 | def init_system |
19 | - enabled_plugins = Dir.glob(File.join(Rails.root, 'config', 'plugins', '*')) | |
20 | - if Rails.env.test? && !enabled_plugins.include?(File.join(Rails.root, 'config', 'plugins', 'foo')) | |
21 | - enabled_plugins << File.join(Rails.root, 'plugins', 'foo') | |
22 | - end | |
23 | - | |
24 | - enabled_plugins.select do |entry| | |
25 | - File.directory?(entry) | |
26 | - end.each do |dir| | |
19 | + available_plugins.each do |dir| | |
27 | 20 | load_plugin dir |
28 | 21 | end |
29 | 22 | end |
... | ... | @@ -76,12 +69,19 @@ class Noosfero::Plugin |
76 | 69 | klass(plugin_name) |
77 | 70 | end |
78 | 71 | |
79 | - def all | |
80 | - @all ||= [] | |
72 | + def available_plugins | |
73 | + unless @available_plugins | |
74 | + path = File.join(Rails.root, 'config', 'plugins', '*') | |
75 | + @available_plugins = Dir.glob(path).select{ |i| File.directory?(i) } | |
76 | + if Rails.env.test? && !@available_plugins.include?(File.join(Rails.root, 'config', 'plugins', 'foo')) | |
77 | + @available_plugins << File.join(Rails.root, 'plugins', 'foo') | |
78 | + end | |
79 | + end | |
80 | + @available_plugins | |
81 | 81 | end |
82 | 82 | |
83 | - def inherited(subclass) | |
84 | - all << subclass.to_s unless all.include?(subclass.to_s) | |
83 | + def all | |
84 | + @all ||= available_plugins.map{ |dir| (File.basename(dir) + "_plugin").camelize } | |
85 | 85 | end |
86 | 86 | |
87 | 87 | def public_name | ... | ... |
test/functional/account_controller_test.rb
... | ... | @@ -689,6 +689,7 @@ class AccountControllerTest < ActionController::TestCase |
689 | 689 | {:test => 5} |
690 | 690 | end |
691 | 691 | end |
692 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
692 | 693 | |
693 | 694 | e = User.find_by_login('ze').environment |
694 | 695 | e.enable_plugin(Plugin1.name) |
... | ... | @@ -779,6 +780,7 @@ class AccountControllerTest < ActionController::TestCase |
779 | 780 | lambda {"<strong>Plugin2 text</strong>"} |
780 | 781 | end |
781 | 782 | end |
783 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
782 | 784 | |
783 | 785 | Environment.default.enable_plugin(Plugin1.name) |
784 | 786 | Environment.default.enable_plugin(Plugin2.name) |
... | ... | @@ -795,6 +797,7 @@ class AccountControllerTest < ActionController::TestCase |
795 | 797 | User.new(:login => 'testuser') |
796 | 798 | end |
797 | 799 | end |
800 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name]) | |
798 | 801 | Environment.default.enable_plugin(Plugin1.name) |
799 | 802 | |
800 | 803 | post :login, :user => {:login => "testuser"} |
... | ... | @@ -809,6 +812,7 @@ class AccountControllerTest < ActionController::TestCase |
809 | 812 | nil |
810 | 813 | end |
811 | 814 | end |
815 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name]) | |
812 | 816 | Environment.default.enable_plugin(Plugin1.name) |
813 | 817 | post :login, :user => {:login => 'johndoe', :password => 'test'} |
814 | 818 | assert session[:user] |
... | ... | @@ -822,6 +826,7 @@ class AccountControllerTest < ActionController::TestCase |
822 | 826 | false |
823 | 827 | end |
824 | 828 | end |
829 | + Noosfero::Plugin.stubs(:all).returns([TestRegistrationPlugin.name]) | |
825 | 830 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestRegistrationPlugin.new]) |
826 | 831 | |
827 | 832 | post :signup, :user => { :login => 'testuser', :password => '123456', :password_confirmation => '123456', :email => 'testuser@example.com' } |
... | ... | @@ -840,6 +845,7 @@ class AccountControllerTest < ActionController::TestCase |
840 | 845 | true |
841 | 846 | end |
842 | 847 | end |
848 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
843 | 849 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([Plugin1.new, Plugin2.new]) |
844 | 850 | |
845 | 851 | get :login |
... | ... | @@ -853,6 +859,7 @@ class AccountControllerTest < ActionController::TestCase |
853 | 859 | false |
854 | 860 | end |
855 | 861 | end |
862 | + Noosfero::Plugin.stubs(:all).returns([TestRegistrationPlugin.name]) | |
856 | 863 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestRegistrationPlugin.new]) |
857 | 864 | |
858 | 865 | #Redirect on get action |
... | ... | @@ -876,6 +883,7 @@ class AccountControllerTest < ActionController::TestCase |
876 | 883 | true |
877 | 884 | end |
878 | 885 | end |
886 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.new, Plugin2.new]) | |
879 | 887 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([Plugin1.new, Plugin2.new]) |
880 | 888 | |
881 | 889 | get :login |
... | ... | @@ -894,6 +902,7 @@ class AccountControllerTest < ActionController::TestCase |
894 | 902 | lambda {"<strong>Plugin2 text</strong>"} |
895 | 903 | end |
896 | 904 | end |
905 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
897 | 906 | |
898 | 907 | Environment.default.enable_plugin(Plugin1.name) |
899 | 908 | Environment.default.enable_plugin(Plugin2.name) | ... | ... |
test/functional/application_controller_test.rb
... | ... | @@ -374,6 +374,8 @@ class ApplicationControllerTest < ActionController::TestCase |
374 | 374 | end |
375 | 375 | plugin2_path = '/plugin2/style.css' |
376 | 376 | |
377 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
378 | + | |
377 | 379 | environment = Environment.default |
378 | 380 | environment.enable_plugin(Plugin1.name) |
379 | 381 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -405,6 +407,8 @@ class ApplicationControllerTest < ActionController::TestCase |
405 | 407 | plugin2_path2 = '/plugin2/'+js2 |
406 | 408 | plugin2_path3 = '/plugin2/'+js3 |
407 | 409 | |
410 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
411 | + | |
408 | 412 | environment = Environment.default |
409 | 413 | environment.enable_plugin(Plugin1.name) |
410 | 414 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -431,6 +435,8 @@ class ApplicationControllerTest < ActionController::TestCase |
431 | 435 | end |
432 | 436 | end |
433 | 437 | |
438 | + Noosfero::Plugin.stubs(:all).returns([TestBodyBeginning1Plugin.name, TestBodyBeginning2Plugin.name]) | |
439 | + | |
434 | 440 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestBodyBeginning1Plugin.new, TestBodyBeginning2Plugin.new]) |
435 | 441 | |
436 | 442 | get :index |
... | ... | @@ -455,6 +461,8 @@ class ApplicationControllerTest < ActionController::TestCase |
455 | 461 | end |
456 | 462 | end |
457 | 463 | |
464 | + Noosfero::Plugin.stubs(:all).returns([TestHeadEnding1Plugin.name, TestHeadEnding2Plugin.name]) | |
465 | + | |
458 | 466 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestHeadEnding1Plugin.new, TestHeadEnding2Plugin.new]) |
459 | 467 | |
460 | 468 | get :index |
... | ... | @@ -519,6 +527,7 @@ class ApplicationControllerTest < ActionController::TestCase |
519 | 527 | :block => lambda {} } |
520 | 528 | end |
521 | 529 | end |
530 | + Noosfero::Plugin.stubs(:all).returns([FilterPlugin.name]) | |
522 | 531 | |
523 | 532 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([FilterPlugin.new]) |
524 | 533 | |
... | ... | @@ -537,6 +546,7 @@ class ApplicationControllerTest < ActionController::TestCase |
537 | 546 | :block => lambda {'plugin block called'} } |
538 | 547 | end |
539 | 548 | end |
549 | + Noosfero::Plugin.stubs(:all).returns([OtherFilterPlugin.name]) | |
540 | 550 | |
541 | 551 | environment1 = fast_create(Environment, :name => 'test environment') |
542 | 552 | environment1.enable_plugin(OtherFilterPlugin.name) | ... | ... |
test/functional/catalog_controller_test.rb
... | ... | @@ -91,6 +91,7 @@ class CatalogControllerTest < ActionController::TestCase |
91 | 91 | lambda {"<span id='plugin2'>This is Plugin2 speaking!</span>"} |
92 | 92 | end |
93 | 93 | end |
94 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
94 | 95 | |
95 | 96 | product = fast_create(Product, :profile_id => @enterprise.id) |
96 | 97 | environment = Environment.default | ... | ... |
test/functional/content_viewer_controller_test.rb
... | ... | @@ -1199,6 +1199,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
1199 | 1199 | class Plugin2 < Noosfero::Plugin |
1200 | 1200 | def content_remove_edit(content); false; end |
1201 | 1201 | end |
1202 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
1202 | 1203 | |
1203 | 1204 | environment.enable_plugin(Plugin1.name) |
1204 | 1205 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -1215,6 +1216,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
1215 | 1216 | class Plugin2 < Noosfero::Plugin |
1216 | 1217 | def content_expire_edit(content); nil; end |
1217 | 1218 | end |
1219 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
1218 | 1220 | |
1219 | 1221 | environment.enable_plugin(Plugin1.name) |
1220 | 1222 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -1260,6 +1262,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
1260 | 1262 | } |
1261 | 1263 | end |
1262 | 1264 | end |
1265 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
1263 | 1266 | |
1264 | 1267 | Environment.default.enable_plugin(Plugin1.name) |
1265 | 1268 | Environment.default.enable_plugin(Plugin2.name) |
... | ... | @@ -1284,6 +1287,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
1284 | 1287 | scope.where(:referrer => 'kernel.org') |
1285 | 1288 | end |
1286 | 1289 | end |
1290 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
1287 | 1291 | |
1288 | 1292 | Environment.default.enable_plugin(Plugin1) |
1289 | 1293 | Environment.default.enable_plugin(Plugin2) |
... | ... | @@ -1341,6 +1345,7 @@ class ContentViewerControllerTest < ActionController::TestCase |
1341 | 1345 | } |
1342 | 1346 | end |
1343 | 1347 | end |
1348 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
1344 | 1349 | |
1345 | 1350 | Environment.default.enable_plugin(Plugin1.name) |
1346 | 1351 | Environment.default.enable_plugin(Plugin2.name) | ... | ... |
test/functional/enterprise_registration_controller_test.rb
... | ... | @@ -193,6 +193,7 @@ class EnterpriseRegistrationControllerTest < ActionController::TestCase |
193 | 193 | {'plugin2' => 'Plugin 2'} |
194 | 194 | end |
195 | 195 | end |
196 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
196 | 197 | |
197 | 198 | environment = Environment.default |
198 | 199 | environment.enable_plugin(Plugin1.name) | ... | ... |
test/functional/friends_controller_test.rb
test/functional/home_controller_test.rb
... | ... | @@ -107,6 +107,7 @@ class HomeControllerTest < ActionController::TestCase |
107 | 107 | lambda {"<a href='plugin2'>Plugin2 link</a>"} |
108 | 108 | end |
109 | 109 | end |
110 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
110 | 111 | |
111 | 112 | Environment.default.enable_plugin(Plugin1) |
112 | 113 | Environment.default.enable_plugin(Plugin2) |
... | ... | @@ -129,6 +130,7 @@ class HomeControllerTest < ActionController::TestCase |
129 | 130 | true |
130 | 131 | end |
131 | 132 | end |
133 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
132 | 134 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([Plugin1.new, Plugin2.new]) |
133 | 135 | |
134 | 136 | get :index | ... | ... |
test/functional/memberships_controller_test.rb
... | ... | @@ -234,6 +234,7 @@ class MembershipsControllerTest < ActionController::TestCase |
234 | 234 | {'plugin2' => 'Plugin 2'} |
235 | 235 | end |
236 | 236 | end |
237 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.name, Plugin2.name]) | |
237 | 238 | |
238 | 239 | environment = Environment.default |
239 | 240 | environment.enable_plugin(Plugin1.name) | ... | ... |
test/functional/plugins_controller_test.rb
test/functional/profile_controller_test.rb
... | ... | @@ -1255,6 +1255,7 @@ class ProfileControllerTest < ActionController::TestCase |
1255 | 1255 | {:title => 'Plugin2 tab', :id => 'plugin2_tab', :content => lambda { 'Content from plugin2.' }} |
1256 | 1256 | end |
1257 | 1257 | end |
1258 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s]) | |
1258 | 1259 | |
1259 | 1260 | e = profile.environment |
1260 | 1261 | e.enable_plugin(Plugin1.name) | ... | ... |
test/functional/profile_editor_controller_test.rb
... | ... | @@ -868,6 +868,7 @@ class ProfileEditorControllerTest < ActionController::TestCase |
868 | 868 | {:title => "Plugin2 button", :icon => 'plugin2_icon', :url => 'plugin2_url'} |
869 | 869 | end |
870 | 870 | end |
871 | + Noosfero::Plugin.stubs(:all).returns([TestControlPanelButtons1.to_s, TestControlPanelButtons2.to_s]) | |
871 | 872 | |
872 | 873 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestControlPanelButtons1.new, TestControlPanelButtons2.new]) |
873 | 874 | |
... | ... | @@ -883,6 +884,7 @@ class ProfileEditorControllerTest < ActionController::TestCase |
883 | 884 | "<input id='field_added_by_plugin' value='value_of_field_added_by_plugin'/>" |
884 | 885 | end |
885 | 886 | end |
887 | + Noosfero::Plugin.stubs(:all).returns([TestProfileEditPlugin.to_s]) | |
886 | 888 | |
887 | 889 | Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([TestProfileEditPlugin.new]) |
888 | 890 | |
... | ... | @@ -911,6 +913,7 @@ class ProfileEditorControllerTest < ActionController::TestCase |
911 | 913 | lambda {"<strong>Plugin2 text</strong>"} |
912 | 914 | end |
913 | 915 | end |
916 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s]) | |
914 | 917 | |
915 | 918 | Environment.default.enable_plugin(Plugin1) |
916 | 919 | Environment.default.enable_plugin(Plugin2) |
... | ... | @@ -932,6 +935,7 @@ class ProfileEditorControllerTest < ActionController::TestCase |
932 | 935 | lambda {"<strong>Plugin2 text</strong>"} |
933 | 936 | end |
934 | 937 | end |
938 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s]) | |
935 | 939 | |
936 | 940 | Environment.default.enable_plugin(Plugin1) |
937 | 941 | Environment.default.enable_plugin(Plugin2) | ... | ... |
test/functional/search_controller_test.rb
... | ... | @@ -163,6 +163,7 @@ class SearchControllerTest < ActionController::TestCase |
163 | 163 | lambda {"<span id='plugin2'>This is Plugin2 speaking!</span>"} |
164 | 164 | end |
165 | 165 | end |
166 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s]) | |
166 | 167 | |
167 | 168 | enterprise = fast_create(Enterprise) |
168 | 169 | prod_cat = fast_create(ProductCategory) |
... | ... | @@ -189,6 +190,7 @@ class SearchControllerTest < ActionController::TestCase |
189 | 190 | return { :name => _('Property2'), :content => lambda { link_to(product.name, '/plugin2') } } |
190 | 191 | end |
191 | 192 | end |
193 | + Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin2.to_s]) | |
192 | 194 | enterprise = fast_create(Enterprise) |
193 | 195 | prod_cat = fast_create(ProductCategory) |
194 | 196 | product = fast_create(Product, {:profile_id => enterprise.id, :name => "produto1", :product_category_id => prod_cat.id}, :search => true) | ... | ... |
test/unit/application_helper_test.rb
... | ... | @@ -676,6 +676,7 @@ class ApplicationHelperTest < ActiveSupport::TestCase |
676 | 676 | should 'parse macros' do |
677 | 677 | class Plugin1 < Noosfero::Plugin |
678 | 678 | end |
679 | + Noosfero::Plugin.stubs(:all).returns(['ApplicationHelperTest::Plugin1']) | |
679 | 680 | |
680 | 681 | class Plugin1::Macro1 < Noosfero::Plugin::Macro |
681 | 682 | def parse(params, inner_html, source) | ... | ... |
test/unit/comment_test.rb
... | ... | @@ -468,8 +468,8 @@ class CommentTest < ActiveSupport::TestCase |
468 | 468 | end |
469 | 469 | end |
470 | 470 | |
471 | - | |
472 | 471 | should 'delegate spam detection to plugins' do |
472 | + Noosfero::Plugin.stubs(:all).returns(['CommentTest::EverythingIsSpam']) | |
473 | 473 | Environment.default.enable_plugin(EverythingIsSpam) |
474 | 474 | |
475 | 475 | c1 = create_comment |
... | ... | @@ -495,6 +495,7 @@ class CommentTest < ActiveSupport::TestCase |
495 | 495 | end |
496 | 496 | |
497 | 497 | should 'notify plugins of comments being marked as spam' do |
498 | + Noosfero::Plugin.stubs(:all).returns(['CommentTest::SpamNotification']) | |
498 | 499 | Environment.default.enable_plugin(SpamNotification) |
499 | 500 | |
500 | 501 | c = create_comment |
... | ... | @@ -506,6 +507,7 @@ class CommentTest < ActiveSupport::TestCase |
506 | 507 | end |
507 | 508 | |
508 | 509 | should 'notify plugins of comments being marked as ham' do |
510 | + Noosfero::Plugin.stubs(:all).returns(['CommentTest::SpamNotification']) | |
509 | 511 | Environment.default.enable_plugin(SpamNotification) |
510 | 512 | |
511 | 513 | c = create_comment | ... | ... |
test/unit/forgot_password_helper_test.rb
... | ... | @@ -22,6 +22,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase |
22 | 22 | {:field => 'f3', :name => 'F3', :model => 'person'}] |
23 | 23 | end |
24 | 24 | end |
25 | + Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2']) | |
25 | 26 | |
26 | 27 | environment.enable_plugin(Plugin1) |
27 | 28 | environment.enable_plugin(Plugin2) |
... | ... | @@ -43,6 +44,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase |
43 | 44 | {:field => 'f3', :name => 'F3', :model => 'person'}] |
44 | 45 | end |
45 | 46 | end |
47 | + Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2']) | |
46 | 48 | |
47 | 49 | environment.enable_plugin(Plugin1) |
48 | 50 | environment.enable_plugin(Plugin2) |
... | ... | @@ -64,6 +66,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase |
64 | 66 | {:field => 'f3', :name => 'F3', :model => 'user'}] |
65 | 67 | end |
66 | 68 | end |
69 | + Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2']) | |
67 | 70 | |
68 | 71 | environment.enable_plugin(Plugin1) |
69 | 72 | environment.enable_plugin(Plugin2) |
... | ... | @@ -85,6 +88,7 @@ class ForgotPasswordHelperTest < ActionView::TestCase |
85 | 88 | {:field => 'f3', :name => 'F3', :model => 'user'}] |
86 | 89 | end |
87 | 90 | end |
91 | + Noosfero::Plugin.stubs(:all).returns(['ForgotPasswordHelperTest::Plugin1', 'ForgotPasswordHelperTest::Plugin2']) | |
88 | 92 | |
89 | 93 | environment.enable_plugin(Plugin1) |
90 | 94 | environment.enable_plugin(Plugin2) | ... | ... |
test/unit/macros_helper_test.rb
... | ... | @@ -28,6 +28,7 @@ class MacrosHelperTest < ActiveSupport::TestCase |
28 | 28 | end |
29 | 29 | |
30 | 30 | def setup |
31 | + Noosfero::Plugin.stubs(:all).returns(['MacrosHelperTest::Plugin1']) | |
31 | 32 | @environment = Environment.default |
32 | 33 | @environment.enable_plugin(Plugin1) |
33 | 34 | @plugins = Noosfero::Plugin::Manager.new(@environment, self) | ... | ... |
test/unit/person_test.rb
... | ... | @@ -1255,6 +1255,7 @@ class PersonTest < ActiveSupport::TestCase |
1255 | 1255 | false |
1256 | 1256 | end |
1257 | 1257 | end |
1258 | + Noosfero::Plugin.stubs(:all).returns(['PersonTest::Plugin1', 'PersonTest::Plugin2']) | |
1258 | 1259 | |
1259 | 1260 | e = Environment.default |
1260 | 1261 | e.enable_plugin(Plugin1.name) |
... | ... | @@ -1424,6 +1425,7 @@ class PersonTest < ActiveSupport::TestCase |
1424 | 1425 | Profile.memberships_of(Person.find_by_identifier('person2')) |
1425 | 1426 | end |
1426 | 1427 | end |
1428 | + Noosfero::Plugin.stubs(:all).returns(['PersonTest::Plugin1', 'PersonTest::Plugin2']) | |
1427 | 1429 | |
1428 | 1430 | Environment.default.enable_plugin(Plugin1) |
1429 | 1431 | Environment.default.enable_plugin(Plugin2) | ... | ... |
test/unit/plugin_manager_test.rb
... | ... | @@ -26,6 +26,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
26 | 26 | class Plugin2 < Noosfero::Plugin; end; |
27 | 27 | class Plugin3 < Noosfero::Plugin; end; |
28 | 28 | class Plugin4 < Noosfero::Plugin; end; |
29 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3', 'PluginManagerTest::Plugin4']) | |
29 | 30 | environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s, Plugin4.to_s]) |
30 | 31 | Noosfero::Plugin.stubs(:all).returns([Plugin1.to_s, Plugin3.to_s, Plugin4.to_s]) |
31 | 32 | results = plugins.enabled_plugins.map { |instance| instance.class.to_s } |
... | ... | @@ -51,6 +52,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
51 | 52 | 'Plugin 2 action.' |
52 | 53 | end |
53 | 54 | end |
55 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2']) | |
54 | 56 | |
55 | 57 | environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s]) |
56 | 58 | |
... | ... | @@ -83,6 +85,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
83 | 85 | 'Plugin 3 action.' |
84 | 86 | end |
85 | 87 | end |
88 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3']) | |
86 | 89 | |
87 | 90 | environment.stubs(:enabled_plugins).returns([Plugin1.to_s, Plugin2.to_s, Plugin3.to_s]) |
88 | 91 | p1 = Plugin1.new |
... | ... | @@ -107,6 +110,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
107 | 110 | 'Plugin3' |
108 | 111 | end |
109 | 112 | end |
113 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3']) | |
110 | 114 | |
111 | 115 | environment.enable_plugin(Plugin1.name) |
112 | 116 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -134,6 +138,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
134 | 138 | true |
135 | 139 | end |
136 | 140 | end |
141 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3']) | |
137 | 142 | |
138 | 143 | environment.enable_plugin(Plugin1.name) |
139 | 144 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -162,6 +167,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
162 | 167 | true |
163 | 168 | end |
164 | 169 | end |
170 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2', 'PluginManagerTest::Plugin3']) | |
165 | 171 | |
166 | 172 | environment.enable_plugin(Plugin1.name) |
167 | 173 | environment.enable_plugin(Plugin2.name) |
... | ... | @@ -178,6 +184,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
178 | 184 | [Macro1, Macro2] |
179 | 185 | end |
180 | 186 | end |
187 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1']) | |
181 | 188 | |
182 | 189 | class Plugin1::Macro1 < Noosfero::Plugin::Macro |
183 | 190 | def convert(macro, source) |
... | ... | @@ -212,6 +219,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
212 | 219 | [v1 * v, v2 * v] |
213 | 220 | end |
214 | 221 | end |
222 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2']) | |
215 | 223 | |
216 | 224 | environment.enable_plugin(Plugin1) |
217 | 225 | environment.enable_plugin(Plugin2) |
... | ... | @@ -231,6 +239,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
231 | 239 | value * 5 |
232 | 240 | end |
233 | 241 | end |
242 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2']) | |
234 | 243 | |
235 | 244 | environment.enable_plugin(Plugin1) |
236 | 245 | environment.enable_plugin(Plugin2) |
... | ... | @@ -252,6 +261,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
252 | 261 | [v1 * v, v2 * v, 666] |
253 | 262 | end |
254 | 263 | end |
264 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2']) | |
255 | 265 | |
256 | 266 | environment.enable_plugin(Plugin1) |
257 | 267 | environment.enable_plugin(Plugin2) |
... | ... | @@ -273,6 +283,7 @@ class PluginManagerTest < ActiveSupport::TestCase |
273 | 283 | numbers.reject {|n| n<=5} |
274 | 284 | end |
275 | 285 | end |
286 | + Noosfero::Plugin.stubs(:all).returns(['PluginManagerTest::Plugin1', 'PluginManagerTest::Plugin2']) | |
276 | 287 | |
277 | 288 | environment.enable_plugin(Plugin1) |
278 | 289 | environment.enable_plugin(Plugin2) | ... | ... |
test/unit/plugin_test.rb
... | ... | @@ -9,15 +9,9 @@ class PluginTest < ActiveSupport::TestCase |
9 | 9 | |
10 | 10 | include Noosfero::Plugin::HotSpot |
11 | 11 | |
12 | - should 'keep the list of all loaded subclasses' do | |
13 | - class Plugin1 < Noosfero::Plugin | |
14 | - end | |
15 | - | |
16 | - class Plugin2 < Noosfero::Plugin | |
17 | - end | |
18 | - | |
19 | - assert_includes Noosfero::Plugin.all, Plugin1.to_s | |
20 | - assert_includes Noosfero::Plugin.all, Plugin2.to_s | |
12 | + should 'keep the list of all available plugins' do | |
13 | + assert File.directory?(File.join(Rails.root, 'plugins', 'foo')) | |
14 | + assert_includes Noosfero::Plugin.all, 'FooPlugin' | |
21 | 15 | end |
22 | 16 | |
23 | 17 | should 'returns url to plugin management if plugin has admin_controller' do | ... | ... |
test/unit/profile_test.rb
... | ... | @@ -1812,6 +1812,7 @@ class ProfileTest < ActiveSupport::TestCase |
1812 | 1812 | Person.members_of(Community.find_by_identifier('community2')) |
1813 | 1813 | end |
1814 | 1814 | end |
1815 | + Noosfero::Plugin.stubs(:all).returns(['ProfileTest::Plugin1', 'ProfileTest::Plugin2']) | |
1815 | 1816 | Environment.default.enable_plugin(Plugin1) |
1816 | 1817 | Environment.default.enable_plugin(Plugin2) |
1817 | 1818 | |
... | ... | @@ -1969,6 +1970,7 @@ class ProfileTest < ActiveSupport::TestCase |
1969 | 1970 | end |
1970 | 1971 | |
1971 | 1972 | environment = Environment.default |
1973 | + Noosfero::Plugin.stubs(:all).returns(['ProfileTest::Plugin1']) | |
1972 | 1974 | environment.enable_plugin(Plugin1) |
1973 | 1975 | plugins = Noosfero::Plugin::Manager.new(environment, self) |
1974 | 1976 | p = fast_create(Profile) | ... | ... |
test/unit/suggest_article_test.rb
... | ... | @@ -7,6 +7,7 @@ class SuggestArticleTest < ActiveSupport::TestCase |
7 | 7 | ActionMailer::Base.perform_deliveries = true |
8 | 8 | ActionMailer::Base.deliveries = [] |
9 | 9 | @profile = create_user('test_user').person |
10 | + Noosfero::Plugin.stubs(:all).returns(['SuggestArticleTest::EverythingIsSpam', 'SuggestArticleTest::SpamNotification']) | |
10 | 11 | end |
11 | 12 | attr_reader :profile |
12 | 13 | ... | ... |