diff options
Diffstat (limited to 'test/functional/attachments_controller_test.rb')
-rw-r--r-- | test/functional/attachments_controller_test.rb | 217 |
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) |