From f825167003d61eae25b7eeff4815e8f33e08fedf Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 16 Sep 2012 19:11:59 +0000 Subject: [PATCH] Removed test contexts. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10406 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- test/integration/api_test/attachments_test.rb | 142 ++++++++---------- 1 file changed, 66 insertions(+), 76 deletions(-) diff --git a/test/integration/api_test/attachments_test.rb b/test/integration/api_test/attachments_test.rb index 98e7c4a02..c19a98ea6 100644 --- a/test/integration/api_test/attachments_test.rb +++ b/test/integration/api_test/attachments_test.rb @@ -37,94 +37,84 @@ class ApiTest::AttachmentsTest < ActionController::IntegrationTest set_tmp_attachments_directory end - context "/attachments/:id" do - context "GET" do - should "return the attachment" do - get '/attachments/7.xml', {}, credentials('jsmith') - assert_response :success - assert_equal 'application/xml', @response.content_type - assert_tag :tag => 'attachment', - :child => { - :tag => 'id', - :content => '7', - :sibling => { - :tag => 'filename', - :content => 'archive.zip', - :sibling => { - :tag => 'content_url', - :content => 'http://www.example.com/attachments/download/7/archive.zip' - } - } + test "GET /attachments/:id.xml should return the attachment" do + get '/attachments/7.xml', {}, credentials('jsmith') + assert_response :success + assert_equal 'application/xml', @response.content_type + assert_tag :tag => 'attachment', + :child => { + :tag => 'id', + :content => '7', + :sibling => { + :tag => 'filename', + :content => 'archive.zip', + :sibling => { + :tag => 'content_url', + :content => 'http://www.example.com/attachments/download/7/archive.zip' } - end + } + } + end - should "deny access without credentials" do - get '/attachments/7.xml' - assert_response 401 - set_tmp_attachments_directory - end - end + test "GET /attachments/:id.xml should deny access without credentials" do + get '/attachments/7.xml' + assert_response 401 + set_tmp_attachments_directory end - context "/attachments/download/:id/:filename" do - context "GET" do - should "return the attachment content" do - get '/attachments/download/7/archive.zip', {}, credentials('jsmith') - assert_response :success - assert_equal 'application/octet-stream', @response.content_type - set_tmp_attachments_directory - end + test "GET /attachments/download/:id/:filename should return the attachment content" do + get '/attachments/download/7/archive.zip', {}, credentials('jsmith') + assert_response :success + assert_equal 'application/octet-stream', @response.content_type + set_tmp_attachments_directory + end - should "deny access without credentials" do - get '/attachments/download/7/archive.zip' - assert_response 302 - set_tmp_attachments_directory - end - end + test "GET /attachments/download/:id/:filename should deny access without credentials" do + get '/attachments/download/7/archive.zip' + assert_response 302 + set_tmp_attachments_directory end - context "POST /uploads" do - should "return the token" do - set_tmp_attachments_directory - assert_difference 'Attachment.count' do - post '/uploads.xml', 'File content', {"CONTENT_TYPE" => 'application/octet-stream'}.merge(credentials('jsmith')) - assert_response :created - assert_equal 'application/xml', response.content_type + test "POST /uploads.xml should return the token" do + set_tmp_attachments_directory + assert_difference 'Attachment.count' do + post '/uploads.xml', 'File content', {"CONTENT_TYPE" => 'application/octet-stream'}.merge(credentials('jsmith')) + assert_response :created + assert_equal 'application/xml', response.content_type + end - xml = Hash.from_xml(response.body) - assert_kind_of Hash, xml['upload'] - token = xml['upload']['token'] - assert_not_nil token + xml = Hash.from_xml(response.body) + assert_kind_of Hash, xml['upload'] + token = xml['upload']['token'] + assert_not_nil token - attachment = Attachment.first(:order => 'id DESC') - assert_equal token, attachment.token - assert_nil attachment.container - assert_equal 2, attachment.author_id - assert_equal 'File content'.size, attachment.filesize - assert attachment.content_type.blank? - assert attachment.filename.present? - assert_match /\d+_[0-9a-z]+/, attachment.diskfile - assert File.exist?(attachment.diskfile) - assert_equal 'File content', File.read(attachment.diskfile) - end - end + attachment = Attachment.first(:order => 'id DESC') + assert_equal token, attachment.token + assert_nil attachment.container + assert_equal 2, attachment.author_id + assert_equal 'File content'.size, attachment.filesize + assert attachment.content_type.blank? + assert attachment.filename.present? + assert_match /\d+_[0-9a-z]+/, attachment.diskfile + assert File.exist?(attachment.diskfile) + assert_equal 'File content', File.read(attachment.diskfile) + end - should "not accept other content types" do - set_tmp_attachments_directory - assert_no_difference 'Attachment.count' do - post '/uploads.xml', 'PNG DATA', {"CONTENT_TYPE" => 'image/png'}.merge(credentials('jsmith')) - assert_response 406 - end + test "POST /uploads.xml should not accept other content types" do + set_tmp_attachments_directory + assert_no_difference 'Attachment.count' do + post '/uploads.xml', 'PNG DATA', {"CONTENT_TYPE" => 'image/png'}.merge(credentials('jsmith')) + assert_response 406 end + end - should "return errors if file is too big" do - set_tmp_attachments_directory - with_settings :attachment_max_size => 1 do - assert_no_difference 'Attachment.count' do - post '/uploads.xml', ('x' * 2048), {"CONTENT_TYPE" => 'application/octet-stream'}.merge(credentials('jsmith')) - assert_response 422 - assert_tag 'error', :content => /exceeds the maximum allowed file size/ - end + test "POST /uploads.xml should return errors if file is too big" do + set_tmp_attachments_directory + with_settings :attachment_max_size => 1 do + assert_no_difference 'Attachment.count' do + post '/uploads.xml', ('x' * 2048), {"CONTENT_TYPE" => 'application/octet-stream'}.merge(credentials('jsmith')) + assert_response 422 + assert_tag 'error', :content => /exceeds the maximum allowed file size/ end end end -- 2.39.5