summaryrefslogtreecommitdiffstats
path: root/test/functional/attachments_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/attachments_controller_test.rb')
-rw-r--r--test/functional/attachments_controller_test.rb217
1 files changed, 168 insertions, 49 deletions
diff --git a/test/functional/attachments_controller_test.rb b/test/functional/attachments_controller_test.rb
index 665eb1d9d..3eba761ae 100644
--- a/test/functional/attachments_controller_test.rb
+++ b/test/functional/attachments_controller_test.rb
@@ -36,7 +36,10 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_show_diff
['inline', 'sbs'].each do |dt|
# 060719210727_changeset_utf8.diff
- get :show, :id => 14, :type => dt
+ get :show, :params => {
+ :id => 14,
+ :type => dt
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
@@ -50,7 +53,10 @@ class AttachmentsControllerTest < Redmine::ControllerTest
with_settings :repositories_encodings => 'UTF-8' do
['inline', 'sbs'].each do |dt|
# 060719210727_changeset_iso8859-1.diff
- get :show, :id => 5, :type => dt
+ get :show, :params => {
+ :id => 5,
+ :type => dt
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
@@ -65,7 +71,10 @@ class AttachmentsControllerTest < Redmine::ControllerTest
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
['inline', 'sbs'].each do |dt|
# 060719210727_changeset_iso8859-1.diff
- get :show, :id => 5, :type => dt
+ get :show, :params => {
+ :id => 5,
+ :type => dt
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
@@ -84,12 +93,17 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert_nil user.pref[:diff_type]
@request.session[:user_id] = 1 # admin
- get :show, :id => 5
+ get :show, :params => {
+ :id => 5
+ }
assert_response :success
user.reload
assert_equal "inline", user.pref[:diff_type]
- get :show, :id => 5, :type => 'sbs'
+ get :show, :params => {
+ :id => 5,
+ :type => 'sbs'
+ }
assert_response :success
user.reload
assert_equal "sbs", user.pref[:diff_type]
@@ -103,14 +117,19 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert a.save
assert_equal 'hg-export.diff', a.filename
- get :show, :id => a.id, :type => 'inline'
+ get :show, :params => {
+ :id => a.id,
+ :type => 'inline'
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
assert_select 'th.filename', :text => 'test1.txt'
end
def test_show_text_file
- get :show, :id => 4
+ get :show, :params => {
+ :id => 4
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
set_tmp_attachments_directory
@@ -126,7 +145,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
str_japanese = "\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e".force_encoding('UTF-8')
- get :show, :id => a.id
+ get :show, :params => {
+ :id => a.id
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
assert_select 'tr#L1' do
@@ -144,7 +165,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert a.save
assert_equal 'iso8859-1.txt', a.filename
- get :show, :id => a.id
+ get :show, :params => {
+ :id => a.id
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
assert_select 'tr#L7' do
@@ -163,7 +186,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert a.save
assert_equal 'iso8859-1.txt', a.filename
- get :show, :id => a.id
+ get :show, :params => {
+ :id => a.id
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
assert_select 'tr#L7' do
@@ -177,7 +202,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
@request.session[:user_id] = 2
with_settings :file_max_size_displayed => 512 do
Attachment.find(4).update_attribute :filesize, 754.kilobyte
- get :show, :id => 4
+ get :show, :params => {
+ :id => 4
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
assert_select '.nodata', :text => 'No preview available'
@@ -187,7 +214,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_show_image
@request.session[:user_id] = 2
- get :show, :id => 16
+ get :show, :params => {
+ :id => 16
+ }
assert_response :success
assert_equal 'text/html', @response.content_type
assert_select 'img.filecontent', :src => attachments(:attachments_010).filename
@@ -195,21 +224,27 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_show_other
@request.session[:user_id] = 2
- get :show, :id => 6
+ get :show, :params => {
+ :id => 6
+ }
assert_equal 'text/html', @response.content_type
assert_select '.nodata', :text => 'No preview available'
set_tmp_attachments_directory
end
def test_show_file_from_private_issue_without_permission
- get :show, :id => 15
+ get :show, :params => {
+ :id => 15
+ }
assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Fattachments%2F15'
set_tmp_attachments_directory
end
def test_show_file_from_private_issue_with_permission
@request.session[:user_id] = 2
- get :show, :id => 15
+ get :show, :params => {
+ :id => 15
+ }
assert_response :success
assert_select 'h2', :text => /private.diff/
set_tmp_attachments_directory
@@ -220,7 +255,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
attachment = Attachment.create!(:file => uploaded_test_file("testfile.txt", "text/plain"), :author_id => 2)
@request.session[:user_id] = 2
- get :show, :id => attachment.id
+ get :show, :params => {
+ :id => attachment.id
+ }
assert_response 200
end
@@ -229,24 +266,32 @@ class AttachmentsControllerTest < Redmine::ControllerTest
attachment = Attachment.create!(:file => uploaded_test_file("testfile.txt", "text/plain"), :author_id => 2)
@request.session[:user_id] = 3
- get :show, :id => attachment.id
+ get :show, :params => {
+ :id => attachment.id
+ }
assert_response 403
end
def test_show_invalid_should_respond_with_404
- get :show, :id => 999
+ get :show, :params => {
+ :id => 999
+ }
assert_response 404
end
def test_download_text_file
- get :download, :id => 4
+ get :download, :params => {
+ :id => 4
+ }
assert_response :success
assert_equal 'application/x-ruby', @response.content_type
etag = @response.etag
assert_not_nil etag
@request.env["HTTP_IF_NONE_MATCH"] = etag
- get :download, :id => 4
+ get :download, :params => {
+ :id => 4
+ }
assert_response 304
set_tmp_attachments_directory
@@ -260,21 +305,27 @@ class AttachmentsControllerTest < Redmine::ControllerTest
:container => Issue.find(1)
)
- get :download, :id => attachment.id
+ get :download, :params => {
+ :id => attachment.id
+ }
assert_response :success
assert_equal 'text/javascript', @response.content_type
end
def test_download_version_file_with_issue_tracking_disabled
Project.find(1).disable_module! :issue_tracking
- get :download, :id => 9
+ get :download, :params => {
+ :id => 9
+ }
assert_response :success
end
def test_download_should_assign_content_type_if_blank
Attachment.find(4).update_attribute(:content_type, '')
- get :download, :id => 4
+ get :download, :params => {
+ :id => 4
+ }
assert_response :success
assert_equal 'text/x-ruby', @response.content_type
set_tmp_attachments_directory
@@ -283,20 +334,26 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_download_should_assign_better_content_type_than_application_octet_stream
Attachment.find(4).update! :content_type => "application/octet-stream"
- get :download, :id => 4
+ get :download, :params => {
+ :id => 4
+ }
assert_response :success
assert_equal 'text/x-ruby', @response.content_type
set_tmp_attachments_directory
end
def test_download_missing_file
- get :download, :id => 2
+ get :download, :params => {
+ :id => 2
+ }
assert_response 404
set_tmp_attachments_directory
end
def test_download_should_be_denied_without_permission
- get :download, :id => 7
+ get :download, :params => {
+ :id => 7
+ }
assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Fattachments%2Fdownload%2F7'
set_tmp_attachments_directory
end
@@ -305,7 +362,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_thumbnail
Attachment.clear_thumbnails
@request.session[:user_id] = 2
- get :thumbnail, :id => 16
+ get :thumbnail, :params => {
+ :id => 16
+ }
assert_response :success
assert_equal 'image/png', response.content_type
@@ -313,7 +372,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert_not_nil etag
@request.env["HTTP_IF_NONE_MATCH"] = etag
- get :thumbnail, :id => 16
+ get :thumbnail, :params => {
+ :id => 16
+ }
assert_response 304
end
@@ -321,20 +382,28 @@ class AttachmentsControllerTest < Redmine::ControllerTest
Redmine::Thumbnail.expects(:generate).with {|source, target, size| size == 800}
@request.session[:user_id] = 2
- get :thumbnail, :id => 16, :size => 2000
+ get :thumbnail, :params => {
+ :id => 16,
+ :size => 2000
+ }
end
def test_thumbnail_should_round_size
Redmine::Thumbnail.expects(:generate).with {|source, target, size| size == 250}
@request.session[:user_id] = 2
- get :thumbnail, :id => 16, :size => 260
+ get :thumbnail, :params => {
+ :id => 16,
+ :size => 260
+ }
end
def test_thumbnail_should_return_404_for_non_image_attachment
@request.session[:user_id] = 2
- get :thumbnail, :id => 15
+ get :thumbnail, :params => {
+ :id => 15
+ }
assert_response 404
end
@@ -342,12 +411,16 @@ class AttachmentsControllerTest < Redmine::ControllerTest
Attachment.any_instance.stubs(:thumbnail).returns(nil)
@request.session[:user_id] = 2
- get :thumbnail, :id => 16
+ get :thumbnail, :params => {
+ :id => 16
+ }
assert_response 404
end
def test_thumbnail_should_be_denied_without_permission
- get :thumbnail, :id => 16
+ get :thumbnail, :params => {
+ :id => 16
+ }
assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Fattachments%2Fthumbnail%2F16'
end
else
@@ -356,7 +429,10 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_edit_all
@request.session[:user_id] = 2
- get :edit_all, :object_type => 'issues', :object_id => '2'
+ get :edit_all, :params => {
+ :object_type => 'issues',
+ :object_id => '2'
+ }
assert_response :success
assert_select 'form[action=?]', '/attachments/issues/2' do
@@ -372,25 +448,45 @@ class AttachmentsControllerTest < Redmine::ControllerTest
end
def test_edit_all_with_invalid_container_class_should_return_404
- get :edit_all, :object_type => 'nuggets', :object_id => '3'
+ get :edit_all, :params => {
+ :object_type => 'nuggets',
+ :object_id => '3'
+ }
assert_response 404
end
def test_edit_all_with_invalid_object_should_return_404
- get :edit_all, :object_type => 'issues', :object_id => '999'
+ get :edit_all, :params => {
+ :object_type => 'issues',
+ :object_id => '999'
+ }
assert_response 404
end
def test_edit_all_for_object_that_is_not_visible_should_return_403
- get :edit_all, :object_type => 'issues', :object_id => '4'
+ get :edit_all, :params => {
+ :object_type => 'issues',
+ :object_id => '4'
+ }
assert_response 403
end
def test_update_all
@request.session[:user_id] = 2
- patch :update_all, :object_type => 'issues', :object_id => '2', :attachments => {
- '1' => {:filename => 'newname.text', :description => ''},
- '4' => {:filename => 'newname.rb', :description => 'Renamed'},
+ patch :update_all, :params => {
+ :object_type => 'issues',
+ :object_id => '2',
+ :attachments => {
+ '1' => {
+ :filename => 'newname.text',
+ :description => ''
+ },
+ '4' => {
+ :filename => 'newname.rb',
+ :description => 'Renamed'
+ },
+
+ }
}
assert_response 302
@@ -401,9 +497,20 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_update_all_with_failure
@request.session[:user_id] = 2
- patch :update_all, :object_type => 'issues', :object_id => '3', :attachments => {
- '1' => {:filename => '', :description => ''},
- '4' => {:filename => 'newname.rb', :description => 'Renamed'},
+ patch :update_all, :params => {
+ :object_type => 'issues',
+ :object_id => '3',
+ :attachments => {
+ '1' => {
+ :filename => '',
+ :description => ''
+ },
+ '4' => {
+ :filename => 'newname.rb',
+ :description => 'Renamed'
+ },
+
+ }
}
assert_response :success
@@ -422,7 +529,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
assert_difference 'issue.attachments.count', -1 do
assert_difference 'Journal.count' do
- delete :destroy, :id => 1
+ delete :destroy, :params => {
+ :id => 1
+ }
assert_redirected_to '/projects/ecookbook'
end
end
@@ -439,7 +548,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
set_tmp_attachments_directory
@request.session[:user_id] = 2
assert_difference 'Attachment.count', -1 do
- delete :destroy, :id => 3
+ delete :destroy, :params => {
+ :id => 3
+ }
assert_response 302
end
end
@@ -448,7 +559,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
set_tmp_attachments_directory
@request.session[:user_id] = 2
assert_difference 'Attachment.count', -1 do
- delete :destroy, :id => 8
+ delete :destroy, :params => {
+ :id => 8
+ }
assert_response 302
end
end
@@ -457,7 +570,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
set_tmp_attachments_directory
@request.session[:user_id] = 2
assert_difference 'Attachment.count', -1 do
- delete :destroy, :id => 9
+ delete :destroy, :params => {
+ :id => 9
+ }
assert_response 302
end
end
@@ -467,7 +582,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
set_tmp_attachments_directory
@request.session[:user_id] = 2
assert_difference 'Attachment.count', -1 do
- delete :destroy, :id => 9
+ delete :destroy, :params => {
+ :id => 9
+ }
assert_response 302
end
end
@@ -475,7 +592,9 @@ class AttachmentsControllerTest < Redmine::ControllerTest
def test_destroy_without_permission
set_tmp_attachments_directory
assert_no_difference 'Attachment.count' do
- delete :destroy, :id => 3
+ delete :destroy, :params => {
+ :id => 3
+ }
end
assert_response 302
assert Attachment.find_by_id(3)