From 0c95e0543f8e0ffc7e7b3d33799b78e03c1049d2 Mon Sep 17 00:00:00 2001 From: Patrick J Cherry Date: Tue, 1 May 2012 13:41:01 +0100 Subject: Updated sender to try and get things into UTF8 where poss. --- test/tc_mauve_sender.rb | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 test/tc_mauve_sender.rb (limited to 'test') diff --git a/test/tc_mauve_sender.rb b/test/tc_mauve_sender.rb new file mode 100644 index 0000000..7db06c1 --- /dev/null +++ b/test/tc_mauve_sender.rb @@ -0,0 +1,79 @@ +$:.unshift "../lib" + +require 'th_mauve_resolv' +require 'test/unit' +require 'pp' +require 'timecop' +require 'mauve/sender' +require 'locale' +require 'iconv' + + +class TcMauveSender < Test::Unit::TestCase + include Mauve + + def setup + Timecop.freeze(Time.local(2011,8,1,0,0,0,0)) + end + + def teardown + Timecop.return + end + + def test_sanitise + Locale.clear + Locale.current = "en_GB.ISO-8859-1" + + # + # Set up a couple of crazy sources. + # + utf8_source = "Å ðîßtáñt plàñët" + iso88591_source = Iconv.conv(Locale.current.charset, "UTF-8", utf8_source) + + # + # Make sure our two sources are distinct + # + assert(iso88591_source != utf8_source) + + sender = Sender.new("test-1.example.com") + update = Mauve::Proto::AlertUpdate.new + update.source = iso88591_source + update.replace = false + + alert = Mauve::Proto::Alert.new + update.alert << alert + + alert_cleared = Mauve::Proto::Alert.new + update.alert << alert_cleared + alert_cleared.clear_time = Time.now.to_i + + # + # Make sure the update has the correct source + # + assert_equal(iso88591_source, update.source) + + # + # Sanitize + # + update = sender.sanitize(update) + + # + # Now make sure the sanitization has changed it back to UTF-8 + # + assert_equal(utf8_source, update.source) + + # + # Now make sure the transmission time + id have been set + # + assert_equal(Time.now.to_i, update.transmission_time) + assert_kind_of(Integer, update.transmission_id) + + # + # Make sure that the alert has its raise time set by default + # + assert_equal(Time.now.to_i, alert.raise_time) + assert_equal(0, alert_cleared.raise_time) + end + + +end -- cgit v1.2.1