diff --git a/app/views/dmsf_files/show.api.rsb b/app/views/dmsf_files/show.api.rsb index 99760e9a..7a5f5407 100644 --- a/app/views/dmsf_files/show.api.rsb +++ b/app/views/dmsf_files/show.api.rsb @@ -1,5 +1,6 @@ api.dmsf_file do api.id @file.id + api.title @file.title api.name @file.name api.project_id @file.project_id api.dmsf_folder_id @file.dmsf_folder_id if @file.dmsf_folder_id diff --git a/extra/api/api_client.rb b/extra/api/api_client.rb index 2bf3c7c4..13521ca9 100644 --- a/extra/api/api_client.rb +++ b/extra/api/api_client.rb @@ -36,6 +36,7 @@ FILE_ID = 41532 file = DmsfFile.find FILE_ID if file puts file.id + puts file.title puts file.name puts file.version puts file.project_id diff --git a/extra/api/file.xml b/extra/api/file.xml index eec8bb38..46c08f21 100644 --- a/extra/api/file.xml +++ b/extra/api/file.xml @@ -3,7 +3,7 @@ 6118 cat.gif - cat.gif + cat REST API From API diff --git a/test/integration/rest_api/dmsf_file_api_test.rb b/test/integration/rest_api/dmsf_file_api_test.rb index dcd94053..01187e93 100644 --- a/test/integration/rest_api/dmsf_file_api_test.rb +++ b/test/integration/rest_api/dmsf_file_api_test.rb @@ -33,6 +33,19 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest @role = Role.find_by(name: 'Manager') @project1 = Project.find 1 @project1.enable_module! :dmsf + @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 + 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 @@ -53,6 +66,7 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest # # # 1 + # test.txt # test.txt # 1 # 1.0 @@ -62,17 +76,17 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest # Some file :-) # http://www.example.com/dmsf/files/1/download # - assert_select 'dmsf_file > id', :text => @file1.id.to_s - assert_select 'dmsf_file > name', :text => @file1.name - assert_select 'dmsf_file > project_id', :text => @file1.project_id.to_s - assert_select 'dmsf_file > version', :text => "#{@file1.last_revision.version}" - assert_select 'dmsf_file > mime_type', :text => @file1.last_revision.mime_type - assert_select 'dmsf_file > digest', :text => @file1.last_revision.digest - assert_select 'dmsf_file > size', :text => @file1.last_revision.size.to_s - 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" + assert_select 'dmsf_file > id', text: @file1.id.to_s + assert_select 'dmsf_file > title', text: @file1.title + assert_select 'dmsf_file > name', text: @file1.name + assert_select 'dmsf_file > project_id', text: @file1.project_id.to_s + assert_select 'dmsf_file > version', text: @file1.last_revision.version + assert_select 'dmsf_file > mime_type', text: @file1.last_revision.mime_type + assert_select 'dmsf_file > digest', text: @file1.last_revision.digest + assert_select 'dmsf_file > size', text: @file1.last_revision.size.to_s + 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 - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.expand_path '../../../fixtures/files', __FILE__ get "/dmsf/files/#{@file1.id}/download.xml?key=#{token.value}" assert_response :success assert_equal '123', @response.body @@ -80,8 +94,6 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest def test_upload_document timestamp = DateTime.current.strftime('%y%m%d%H%M') - Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = DmsfHelper.temp_dir.join("dmsf_test-#{timestamp}").to_s - FileUtils.mkdir_p(Setting.plugin_redmine_dmsf['dmsf_storage_directory']) @role.add_permission! :file_manipulation token = Token.create!(:user => @jsmith, :action => 'api') #curl --data-binary "@cat.gif" -H "Content-Type: application/octet-stream" -X POST -u ${1}:${2} http://localhost:3000/projects/12/dmsf/upload.xml?filename=cat.gif @@ -123,11 +135,6 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest assert_response :success revision = DmsfFileRevision.order(:created_at).last assert revision && revision.size > 0 - begin - FileUtils.rm_rf Setting.plugin_redmine_dmsf['dmsf_storage_directory'] - rescue Exception => e - error e.message - end end def test_delete_file