summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorSteve Kemp <steve@steve.org.uk>2012-11-14 20:09:00 +0000
committerSteve Kemp <steve@steve.org.uk>2012-11-14 20:09:00 +0000
commit4c57c9605a316fc84af180891b3d6b797cbfea3a (patch)
treeb34c0424fc9f8aeb1361730aab48caa1b7c9bbef /t
parent91eb85bd63ac2ee8d4352c3bc0170e53b75df049 (diff)
Added test of inside vs. outside of Bytemark network
Diffstat (limited to 't')
-rwxr-xr-xt/test-alerter.rb97
1 files changed, 97 insertions, 0 deletions
diff --git a/t/test-alerter.rb b/t/test-alerter.rb
new file mode 100755
index 0000000..80ce44e
--- /dev/null
+++ b/t/test-alerter.rb
@@ -0,0 +1,97 @@
+#!/usr/bin/ruby1.8 -I./lib/ -I../lib/
+
+
+
+require 'test/unit'
+require 'custodian/alerter'
+
+
+
+#
+# Unit test for our alerting class
+#
+# This doesn't actually test the alerts, but it will
+# test that we can successfully determine whether a
+# destination is inside or outside the Bytemark network.
+#
+#
+class TestAlerter < Test::Unit::TestCase
+
+ #
+ # Create the test suite environment: NOP.
+ #
+ def setup
+ end
+
+ #
+ # Destroy the test suite environment: NOP.
+ #
+ def teardown
+ end
+
+
+ #
+ # Ensure we can instantiate the object
+ #
+ def test_init
+
+ assert_nothing_raised do
+ obj = Alerter.new( {} )
+ assert( obj )
+ end
+
+ end
+
+
+ #
+ # Test location-detection.
+ #
+ def test_families
+
+ #
+ # Hash of hostnames and version of address.
+ #
+ to_test = {
+
+ #
+ # Hosts inside the Bytemark network
+ #
+ "www.steve.org.uk" => true,
+ "ipv6.steve.org.uk" => true,
+ "http://www.steve.org.uk/" => true,
+ "http://ipv6.steve.org.uk" => true,
+ "canalrivertrust.org.uk" => true,
+ "http://canalrivertrust.org.uk/" => true,
+ "http://canalrivertrust.org.uk" => true,
+
+ #
+ # Hosts outside the Bytemark network
+ #
+ "https://google.com/" => false,
+ "http://google.com/" => false,
+ "http://ipv6.google.com/" => false,
+ "http://192.168.0.333/" => false,
+ }
+
+
+
+ to_test.each do |name,inside|
+
+ obj = Alerter.new( nil )
+
+ text = obj.expand_inside_bytemark( name )
+
+ if ( text =~ /is inside/ )
+ assert( inside == true )
+ end
+ if ( text =~ /is not/ )
+ assert( inside == false )
+ end
+ end
+ end
+
+
+
+
+
+end