summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-02-18 11:41:39 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-02-18 11:41:39 +0000
commit5a241fd12e96680721725fcc633963e1df85392a (patch)
tree19955e710633a978ed2d52865f5080fca81fe0ba
parent840fcf2fa97bcc59d244b8a89ce54afea73e3ac3 (diff)
downloadredmine-5a241fd12e96680721725fcc633963e1df85392a.tar.gz
redmine-5a241fd12e96680721725fcc633963e1df85392a.zip
file upload test now uses ActionController::TestUploadedFile
git-svn-id: http://redmine.rubyforge.org/svn/trunk@251 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--test/fixtures/files/testfile.txt1
-rw-r--r--test/integration/issues_test.rb26
-rw-r--r--test/test_helper.rb17
3 files changed, 21 insertions, 23 deletions
diff --git a/test/fixtures/files/testfile.txt b/test/fixtures/files/testfile.txt
new file mode 100644
index 000000000..4b2a49c69
--- /dev/null
+++ b/test/fixtures/files/testfile.txt
@@ -0,0 +1 @@
+this is a text file for upload tests \ No newline at end of file
diff --git a/test/integration/issues_test.rb b/test/integration/issues_test.rb
index 0836b45cf..0583b98a8 100644
--- a/test/integration/issues_test.rb
+++ b/test/integration/issues_test.rb
@@ -37,36 +37,16 @@ class IssuesTest < ActionController::IntegrationTest
# add then remove 2 attachments to an issue
def test_issue_attachements
log_user('jsmith', 'jsmith')
-
- file_data_1 = "some text...."
- file_name_1 = "sometext.txt"
- file_data_2 = "more text..."
- file_name_2 = "moretext.txt"
-
- boundary = "rubyqMY6QN9bp6e4kS21H4y0zxcvoor"
- headers = { "Content-Type" => "multipart/form-data; boundary=#{boundary}" }
- data = [
- "--" + boundary,
- "Content-Disposition: form-data; name=\"attachments[]\"; filename=\"#{file_name_1}\"",
- "Content-Type: text/plain",
- "", file_data_1,
- "--" + boundary,
- "Content-Disposition: form-data; name=\"attachments[]\"; filename=\"#{file_name_2}\"",
- "Content-Type: text/plain",
- "", file_data_2,
- "--" + boundary, ""
- ].join("\x0D\x0A")
-
- post "issues/add_attachment/1", data, headers
+ post "issues/add_attachment/1", { 'attachments[]' => ActionController::TestUploadedFile.new(Test::Unit::TestCase.fixture_path + '/files/testfile.txt', 'text/plain') }
assert_redirected_to "issues/show/1"
# make sure attachment was saved
- attachment = Issue.find(1).attachments.find_by_filename(file_name_1)
+ attachment = Issue.find(1).attachments.find_by_filename("testfile.txt")
assert_kind_of Attachment, attachment
assert_equal Issue.find(1), attachment.container
# verify the size of the attachment stored in db
- assert_equal file_data_1.length, attachment.filesize
+ #assert_equal file_data_1.length, attachment.filesize
# verify that the attachment was written to disk
assert File.exist?(attachment.diskfile)
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 2e4f7dcd0..b5218c29b 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -53,3 +53,20 @@ class Test::Unit::TestCase
assert_equal login, User.find(session[:user_id]).login
end
end
+
+
+# ActionController::TestUploadedFile bug
+# see http://dev.rubyonrails.org/ticket/4635
+class String
+ def original_filename
+ "testfile.txt"
+ end
+
+ def content_type
+ "text/plain"
+ end
+
+ def read
+ self.to_s
+ end
+end \ No newline at end of file