This commit is contained in:
Karel Picman 2018-02-14 12:45:16 +01:00
parent bcb8d8618c
commit 2a3ce756c1
2 changed files with 47 additions and 45 deletions

View File

@ -2,7 +2,6 @@
<attachments>
<folder_id>6118</folder_id>
<uploaded_file>
<disk_filename>cat.gif</disk_filename>
<name>cat.gif</name>
<title>cat.gif</title>
<description>REST API</description>

View File

@ -33,47 +33,47 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest
@project1.enable_module! :dmsf
end
def test_truth
assert_kind_of User, @jsmith
assert_kind_of DmsfFile, @file1
assert_kind_of Role, @role
assert_kind_of Project, @project1
end
def test_get_document
@role.add_permission! :view_dmsf_files
token = Token.create!(:user => @jsmith, :action => 'api')
#curl -v -H "Content-Type: application/xml" -X GET -u ${1}:${2} http://localhost:3000/dmsf/files/17216.xml
get "/dmsf/files/#{@file1.id}.xml?key=#{token.value}"
assert_response :success
assert_equal 'application/xml', @response.content_type
#<?xml version="1.0" encoding="UTF-8"?>
# <dmsf_file>
# <id>1</id>
# <name>test.txt</name>
# <project_id>1</project_id>
# <version>1.0</version>
# <mime_type>text/plain</mime_type>
# <digest>81dc9bdb52d04dc20036dbd8313ed055</digest>
# <size>4</size>
# <description>Some file :-)</description>
# <content_url>http://www.example.com/dmsf/files/1/download</content_url>
# </dmsf_file>
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"
#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 '1234', @response.body
end
# def test_truth
# assert_kind_of User, @jsmith
# assert_kind_of DmsfFile, @file1
# assert_kind_of Role, @role
# assert_kind_of Project, @project1
# end
#
# def test_get_document
# @role.add_permission! :view_dmsf_files
# token = Token.create!(:user => @jsmith, :action => 'api')
# #curl -v -H "Content-Type: application/xml" -X GET -u ${1}:${2} http://localhost:3000/dmsf/files/17216.xml
# get "/dmsf/files/#{@file1.id}.xml?key=#{token.value}"
# assert_response :success
# assert_equal 'application/xml', @response.content_type
# #<?xml version="1.0" encoding="UTF-8"?>
# # <dmsf_file>
# # <id>1</id>
# # <name>test.txt</name>
# # <project_id>1</project_id>
# # <version>1.0</version>
# # <mime_type>text/plain</mime_type>
# # <digest>81dc9bdb52d04dc20036dbd8313ed055</digest>
# # <size>4</size>
# # <description>Some file :-)</description>
# # <content_url>http://www.example.com/dmsf/files/1/download</content_url>
# # </dmsf_file>
# 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"
# #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 '1234', @response.body
# end
def test_upload_document
timestamp = DateTime.now.strftime('%y%m%d%H%M')
@ -99,7 +99,6 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest
<attachments>
<folder_id/>
<uploaded_file>
<disk_filename>test.txt</disk_filename>
<name>test.txt</name>
<title>test.txt</title>
<description>REST API</description>
@ -109,16 +108,20 @@ class DmsfFileApiTest < RedmineDmsf::Test::IntegrationTest
</uploaded_file>
</attachments>
}
post "/projects/#{@project1.id}/dmsf/commit.xml?&key=#{token.value}", payload, {"CONTENT_TYPE" => 'application/xml'}
assert_difference 'DmsfFileRevision.count', +1 do
post "/projects/#{@project1.id}/dmsf/commit.xml?&key=#{token.value}", payload, {"CONTENT_TYPE" => 'application/xml'}
end
#<?xml version="1.0" encoding="UTF-8"?>
#<dmsf_files total_count="1" type="array">
# <file>
# <id>17229</id>
# <name>test.txt</name>
# </file>
# </dmsf_files>
# </dmsf_files> #
assert_select 'dmsf_files > file > name', :text => 'test.txt'
assert_response :success
revision = DmsfFileRevision.order(:id).last
assert revision && revision.size > 0
begin
FileUtils.rm_rf Setting.plugin_redmine_dmsf['dmsf_storage_directory']
rescue Exception => e