From b8b85c7e3843fe54d99a8cc5756dae6a32e9e3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Fri, 7 Dec 2018 11:06:10 +0100 Subject: [PATCH] Tests fixed for EasyRedmine --- lib/redmine_dmsf/webdav/project_resource.rb | 4 ++-- test/functional/dmsf_controller_test.rb | 16 +++++++++++++--- test/functional/dmsf_files_controller_test.rb | 4 ++-- .../dmsf_files_copy_controller_test.rb | 4 ++-- .../dmsf_folders_copy_controller_test.rb | 4 ++-- .../dmsf_public_urls_controller_test.rb | 4 ++-- test/functional/issues_controller_test.rb | 4 ++-- test/integration/rest_api/dmsf_file_api_test.rb | 7 ++----- .../integration/rest_api/dmsf_folder_api_test.rb | 4 ++-- .../webdav/dmsf_webdav_custom_middleware_test.rb | 2 +- .../webdav/dmsf_webdav_delete_test.rb | 4 ++-- test/integration/webdav/dmsf_webdav_get_test.rb | 4 ++-- test/integration/webdav/dmsf_webdav_head_test.rb | 4 ++-- .../integration/webdav/dmsf_webdav_mkcol_test.rb | 4 ++-- test/integration/webdav/dmsf_webdav_move_test.rb | 4 ++-- test/integration/webdav/dmsf_webdav_put_test.rb | 4 ++-- test/unit/dmsf_file_revision_test.rb | 5 ++--- test/unit/dmsf_file_test.rb | 15 +-------------- 18 files changed, 45 insertions(+), 52 deletions(-) diff --git a/lib/redmine_dmsf/webdav/project_resource.rb b/lib/redmine_dmsf/webdav/project_resource.rb index 384df927..93201e1e 100644 --- a/lib/redmine_dmsf/webdav/project_resource.rb +++ b/lib/redmine_dmsf/webdav/project_resource.rb @@ -112,7 +112,7 @@ module RedmineDmsf end def project_id - project.id if project + project.id if project end def self.create_project_name(project) @@ -122,7 +122,7 @@ module RedmineDmsf else project.identifier end - end + end end end diff --git a/test/functional/dmsf_controller_test.rb b/test/functional/dmsf_controller_test.rb index 873ce4d8..54660699 100644 --- a/test/functional/dmsf_controller_test.rb +++ b/test/functional/dmsf_controller_test.rb @@ -43,6 +43,19 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase @manager = User.find 2 #1 User.current = nil @request.session[:user_id] = @manager.id + @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path + end + + def teardown + # Delete our tmp folder + begin + FileUtils.rm_rf DmsfFile.storage_path + rescue Exception => e + error e.message + end + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = @dmsf_storage_directory end def test_truth @@ -222,7 +235,6 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase def test_email_entries_email_from Setting.plugin_redmine_dmsf['dmsf_documents_email_from'] = 'karel.picman@kontron.com' - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path '../../fixtures/files', __FILE__ @role.add_permission! :view_dmsf_files get :entries_operation, :id => @project, :email_entries => 'Email', :ids => ["file-#{@file1.id}"] assert_response :success @@ -231,7 +243,6 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase def test_email_entries_reply_to Setting.plugin_redmine_dmsf['dmsf_documents_email_reply_to'] = 'karel.picman@kontron.com' - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path '../../fixtures/files', __FILE__ @role.add_permission! :view_dmsf_files get :entries_operation, :id => @project, :email_entries => 'Email', :ids => ["file-#{@file1.id}"] assert_response :success @@ -240,7 +251,6 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase def test_email_entries_links_only Setting.plugin_redmine_dmsf['dmsf_documents_email_links_only'] = true - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path '../../fixtures/files', __FILE__ @role.add_permission! :view_dmsf_files get :entries_operation, :id => @project, :email_entries => 'Email', :ids => ["file-#{@file1.id}"] assert_response :success diff --git a/test/functional/dmsf_files_controller_test.rb b/test/functional/dmsf_files_controller_test.rb index b6ed1bf4..84f20bcf 100644 --- a/test/functional/dmsf_files_controller_test.rb +++ b/test/functional/dmsf_files_controller_test.rb @@ -34,8 +34,8 @@ class DmsfFilesControllerTest < RedmineDmsf::Test::TestCase User.current = nil @request.session[:user_id] = 2 @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path end def teardown diff --git a/test/functional/dmsf_files_copy_controller_test.rb b/test/functional/dmsf_files_copy_controller_test.rb index be613ae8..c01619e4 100644 --- a/test/functional/dmsf_files_copy_controller_test.rb +++ b/test/functional/dmsf_files_copy_controller_test.rb @@ -41,8 +41,8 @@ class DmsfFilesCopyControllerTest < RedmineDmsf::Test::TestCase User.current = nil @request.session[:user_id] = 2 # John Smith - manager @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path @project1.enable_module!(:dmsf) @role_manager.add_permission! :file_manipulation @role_manager.add_permission! :view_dmsf_folders diff --git a/test/functional/dmsf_folders_copy_controller_test.rb b/test/functional/dmsf_folders_copy_controller_test.rb index 294cd8d0..25eb6c0c 100644 --- a/test/functional/dmsf_folders_copy_controller_test.rb +++ b/test/functional/dmsf_folders_copy_controller_test.rb @@ -41,8 +41,8 @@ class DmsfFoldersCopyControllerTest < RedmineDmsf::Test::TestCase User.current = nil @request.session[:user_id] = @user_member.id # John Smith - manager @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path @project1.enable_module!(:dmsf) @role_manager.add_permission! :folder_manipulation @role_manager.add_permission! :view_dmsf_folders diff --git a/test/functional/dmsf_public_urls_controller_test.rb b/test/functional/dmsf_public_urls_controller_test.rb index a7908216..831265a4 100644 --- a/test/functional/dmsf_public_urls_controller_test.rb +++ b/test/functional/dmsf_public_urls_controller_test.rb @@ -26,8 +26,8 @@ class DmsfPublicUrlsControllerTest < RedmineDmsf::Test::TestCase def setup @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path end def teardown diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index c60e8cbb..ca7cf5e2 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -36,8 +36,8 @@ class IssuesControllerTest < RedmineDmsf::Test::TestCase @project2.enable_module! :issue_tracking @issue1 = Issue.find 1 @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path User.current = nil @request.session[:user_id] = @user_manager.id end diff --git a/test/integration/rest_api/dmsf_file_api_test.rb b/test/integration/rest_api/dmsf_file_api_test.rb index 2ba3f630..19c13290 100644 --- a/test/integration/rest_api/dmsf_file_api_test.rb +++ b/test/integration/rest_api/dmsf_file_api_test.rb @@ -35,8 +35,8 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest @project1.enable_module! :dmsf @token = Token.create!(user: @jsmith, action: 'api') @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path end def teardown @@ -87,9 +87,6 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest assert_select 'dmsf_file > description', text: @file1.last_revision.description assert_select 'dmsf_file > content_url', text: "http://www.example.com/dmsf/files/#{@file1.id}/download" #curl -v -H "Content-Type: application/octet-stream" -X GET -u ${1}:${2} http://localhost:3000/dmsf/files/41532/download > file.txt - # TODO: Somehow the setting has lost... - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - assert_equal File.expand_path('../../../fixtures/dmsf', __FILE__), Setting.plugin_redmine_dmsf['dmsf_storage_directory'] get "/dmsf/files/#{@file1.id}/download.xml?key=#{@token.value}" assert_response :success assert_equal '123', @response.body diff --git a/test/integration/rest_api/dmsf_folder_api_test.rb b/test/integration/rest_api/dmsf_folder_api_test.rb index 72896c26..d0adda7a 100644 --- a/test/integration/rest_api/dmsf_folder_api_test.rb +++ b/test/integration/rest_api/dmsf_folder_api_test.rb @@ -28,8 +28,8 @@ class DmsfFolderApiTest < RedmineDmsf::Test::IntegrationTest def setup @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path @admin = User.find 1 @jsmith = User.find 2 @file1 = DmsfFile.find 1 diff --git a/test/integration/webdav/dmsf_webdav_custom_middleware_test.rb b/test/integration/webdav/dmsf_webdav_custom_middleware_test.rb index 3f5c7730..b7ba05d5 100644 --- a/test/integration/webdav/dmsf_webdav_custom_middleware_test.rb +++ b/test/integration/webdav/dmsf_webdav_custom_middleware_test.rb @@ -33,7 +33,7 @@ class DmsfWebdavCustomMiddlewareTest < RedmineDmsf::Test::IntegrationTest def test_options_for_root_path xml_http_request :options, '/' - assert_response :not_found + assert_response defined?(EasyExtensions) ? :method_not_allowed : :not_found end def test_options_for_dmsf_root_path diff --git a/test/integration/webdav/dmsf_webdav_delete_test.rb b/test/integration/webdav/dmsf_webdav_delete_test.rb index 0b931c56..f2d13972 100644 --- a/test/integration/webdav/dmsf_webdav_delete_test.rb +++ b/test/integration/webdav/dmsf_webdav_delete_test.rb @@ -44,8 +44,8 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest @dmsf_webdav_use_project_names = Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = false @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path @project1.enable_module! :dmsf # Flag module enabled User.current = nil end diff --git a/test/integration/webdav/dmsf_webdav_get_test.rb b/test/integration/webdav/dmsf_webdav_get_test.rb index 6d258669..701894e0 100644 --- a/test/integration/webdav/dmsf_webdav_get_test.rb +++ b/test/integration/webdav/dmsf_webdav_get_test.rb @@ -39,8 +39,8 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest @dmsf_webdav_use_project_names = Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = false @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path User.current = nil end diff --git a/test/integration/webdav/dmsf_webdav_head_test.rb b/test/integration/webdav/dmsf_webdav_head_test.rb index 98f55d1f..962188bb 100644 --- a/test/integration/webdav/dmsf_webdav_head_test.rb +++ b/test/integration/webdav/dmsf_webdav_head_test.rb @@ -41,8 +41,8 @@ class DmsfWebdavHeadTest < RedmineDmsf::Test::IntegrationTest @project1_uri = Addressable::URI.escape(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)) Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = false @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path User.current = nil end diff --git a/test/integration/webdav/dmsf_webdav_mkcol_test.rb b/test/integration/webdav/dmsf_webdav_mkcol_test.rb index b6791b3f..b23357f1 100644 --- a/test/integration/webdav/dmsf_webdav_mkcol_test.rb +++ b/test/integration/webdav/dmsf_webdav_mkcol_test.rb @@ -40,8 +40,8 @@ class DmsfWebdavMkcolTest < RedmineDmsf::Test::IntegrationTest @dmsf_webdav_use_project_names = Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = false @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path User.current = nil end diff --git a/test/integration/webdav/dmsf_webdav_move_test.rb b/test/integration/webdav/dmsf_webdav_move_test.rb index 80fbbbfe..e904c440 100644 --- a/test/integration/webdav/dmsf_webdav_move_test.rb +++ b/test/integration/webdav/dmsf_webdav_move_test.rb @@ -29,8 +29,8 @@ class DmsfWebdavMoveTest < RedmineDmsf::Test::IntegrationTest def setup @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path @admin = credentials 'admin' @jsmith = credentials 'jsmith' @project1 = Project.find 1 diff --git a/test/integration/webdav/dmsf_webdav_put_test.rb b/test/integration/webdav/dmsf_webdav_put_test.rb index 3e66d61a..f85a0584 100644 --- a/test/integration/webdav/dmsf_webdav_put_test.rb +++ b/test/integration/webdav/dmsf_webdav_put_test.rb @@ -29,8 +29,8 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest def setup @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path @admin = credentials 'admin' @jsmith = credentials 'jsmith' @project1 = Project.find 1 diff --git a/test/unit/dmsf_file_revision_test.rb b/test/unit/dmsf_file_revision_test.rb index 55977c78..98612c86 100644 --- a/test/unit/dmsf_file_revision_test.rb +++ b/test/unit/dmsf_file_revision_test.rb @@ -37,8 +37,8 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest @admin = User.find 1 @jsmith = User.find 2 @dmsf_storage_directory = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path('../../fixtures/dmsf', __FILE__) - FileUtils.cp_r File.expand_path('../../fixtures/files', __FILE__), DmsfFile.storage_path + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' + FileUtils.cp_r File.join(File.expand_path('../../fixtures/files', __FILE__), '.'), DmsfFile.storage_path end def teardown @@ -265,7 +265,6 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest def test_major_version_cannot_be_nil @revision1.major_version = nil assert !@revision1.save - puts @revision1.errors.full_messages.to_sentence assert @revision1.errors.full_messages.to_sentence.include?('Major version cannot be blank') end diff --git a/test/unit/dmsf_file_test.rb b/test/unit/dmsf_file_test.rb index 5edae479..3da1f607 100644 --- a/test/unit/dmsf_file_test.rb +++ b/test/unit/dmsf_file_test.rb @@ -265,24 +265,11 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest end def test_storage_path - # Backup setting = Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - # Relative path - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'dmsf/files' + Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = 'files/dmsf' sp = DmsfFile.storage_path assert_kind_of Pathname, sp assert_equal Rails.root.join(Setting.plugin_redmine_dmsf['dmsf_storage_directory']).to_s, sp.to_s - # Empty - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = '' - sp = DmsfFile.storage_path - assert_kind_of Pathname, sp - assert_equal Rails.root.join(Pathname.new('files').join('dmsf')).to_s, sp.to_s - # Absolute path - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = '/opt/redmine' - sp = DmsfFile.storage_path - assert_kind_of Pathname, sp - assert_equal '/opt/redmine', sp.to_s - # Restore Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = setting end