aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/request_controller_spec.rb
diff options
context:
space:
mode:
authorfrancis <francis>2009-09-15 17:45:50 +0000
committerfrancis <francis>2009-09-15 17:45:50 +0000
commit3e63196fe2268c1ea4618a261bb18b76a81bacf6 (patch)
tree0603719fe50cb8db2bc38352d41da199ea0b595b /spec/controllers/request_controller_spec.rb
parent64552606573d812452b77e868137de183f0cf2d6 (diff)
Change censor rules to apply to strings in place, so using less memory on large strings.
Add lots of test code for censor rules.
Diffstat (limited to 'spec/controllers/request_controller_spec.rb')
-rw-r--r--spec/controllers/request_controller_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index d0afe00ce..c84673b23 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -120,6 +120,40 @@ describe RequestController, "when showing one request" do
}.should raise_error(RuntimeError)
end
+ it "should censor attachments downloaded as binary" do
+ ir = info_requests(:fancy_dog_request)
+
+ censor_rule = CensorRule.new()
+ censor_rule.text = "Second"
+ censor_rule.replacement = "Mouse"
+ censor_rule.last_edit_editor = "unknown"
+ censor_rule.last_edit_comment = "none"
+ ir.censor_rules << censor_rule
+
+ receive_incoming_mail('incoming-request-two-same-name.email', ir.incoming_email)
+
+ get :get_attachment, :incoming_message_id => ir.incoming_messages[1].id, :id => ir.id, :part => 2, :file_name => ['hello.txt']
+ response.content_type.should == "text/plain"
+ response.should have_text(/xxxxxx hello/)
+ end
+
+ it "should censor attachment names" do
+ ir = info_requests(:fancy_dog_request)
+ receive_incoming_mail('incoming-request-two-same-name.email', ir.incoming_email)
+
+ get :show, :url_title => 'why_do_you_have_such_a_fancy_dog'
+ response.body.should have_tag("p.attachment strong", /hello.txt/m)
+
+ censor_rule = CensorRule.new()
+ censor_rule.text = "hello.txt"
+ censor_rule.replacement = "goodbye.txt"
+ censor_rule.last_edit_editor = "unknown"
+ censor_rule.last_edit_comment = "none"
+ ir.censor_rules << censor_rule
+
+ get :show, :url_title => 'why_do_you_have_such_a_fancy_dog'
+ response.body.should have_tag("p.attachment strong", /goodbye.txt/m)
+ end
end
end