From d4b085c2d6ee67e421f9857f4c07560d52ba05d4 Mon Sep 17 00:00:00 2001 From: Steve Kemp Date: Tue, 13 Nov 2012 14:56:42 +0000 Subject: Initial test-cases --- t/test-protocol-http.rb | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ t/test-protocol-https.rb | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+) create mode 100755 t/test-protocol-http.rb create mode 100755 t/test-protocol-https.rb (limited to 't') diff --git a/t/test-protocol-http.rb b/t/test-protocol-http.rb new file mode 100755 index 0000000..e8e4dcc --- /dev/null +++ b/t/test-protocol-http.rb @@ -0,0 +1,97 @@ +#!/usr/bin/ruby -I../worker/tests/ -I./worker/tests/ + + +require 'test/unit' +require 'http' + + + + +# +# Unit test for the HTTP-protocol probe. +# +class TestHTTPProtocolProbe < Test::Unit::TestCase + + # + # Create the test suite environment: NOP. + # + def setup + end + + # + # Destroy the test suite environment: NOP. + # + def teardown + end + + + # + # Test we can create a new HTTPTest object. + # + def test_init + test_data_good = { + "target_host" => "http://www.steve.org.uk/", + "test_type" => "http", + "verbose" => 1, + "test_port" => 80, + "test_alert" => "Steve's website is unavailable", + "http_text" => "Steve Kemp", + "http_status" => "200" + } + + # + # Missing a port number + # + test_data_bad_one = { + "target_host" => "http://www.steve.org.uk/", + "test_type" => "http", + "verbose" => 1, + "test_alert" => "Steve's website is unavailable", + "http_text" => "Steve Kemp", + "http_status" => "200" + } + + # + # Missing URL to probe + # + test_data_bad_two = { + "test_type" => "http", + "test_port" => 80, + "verbose" => 1, + "test_alert" => "Steve's website is unavailable", + "http_text" => "Steve Kemp", + "http_status" => "200" + } + + + # + # Create a new HTTPTest object. This should succeed + # + good = HTTPTest.new( test_data_good ) + assert( good ) + + # + # There will be no error setup + # + assert( good.error().nil? ) + + # + # Now create a probe with a missing port. + # + assert_raise ArgumentError do + bad = HTTPTest.new( test_data_bad_one ) + end + + + # + # Now create a probe with a missing URL. + # + assert_raise ArgumentError do + bad = HTTPTest.new( test_data_bad_two ) + end + + end + + + +end diff --git a/t/test-protocol-https.rb b/t/test-protocol-https.rb new file mode 100755 index 0000000..b996b19 --- /dev/null +++ b/t/test-protocol-https.rb @@ -0,0 +1,97 @@ +#!/usr/bin/ruby -I../worker/tests/ -I./worker/tests/ + + +require 'test/unit' +require 'https' + + + + +# +# Unit test for the HTTPS-protocol probe. +# +class TestHTTPSProtocolProbe < Test::Unit::TestCase + + # + # Create the test suite environment: NOP. + # + def setup + end + + # + # Destroy the test suite environment: NOP. + # + def teardown + end + + + # + # Test we can create a new HTTPTest object. + # + def test_init + test_data_good = { + "target_host" => "http://www.steve.org.uk/", + "test_type" => "http", + "verbose" => 1, + "test_port" => 80, + "test_alert" => "Steve's website is unavailable", + "http_text" => "Steve Kemp", + "http_status" => "200" + } + + # + # Missing a port number + # + test_data_bad_one = { + "target_host" => "http://www.steve.org.uk/", + "test_type" => "http", + "verbose" => 1, + "test_alert" => "Steve's website is unavailable", + "http_text" => "Steve Kemp", + "http_status" => "200" + } + + # + # Missing URL to probe + # + test_data_bad_two = { + "test_type" => "http", + "test_port" => 80, + "verbose" => 1, + "test_alert" => "Steve's website is unavailable", + "http_text" => "Steve Kemp", + "http_status" => "200" + } + + + # + # Create a new HTTPTest object. This should succeed + # + good = HTTPSTest.new( test_data_good ) + assert( good ) + + # + # There will be no error setup + # + assert( good.error().nil? ) + + # + # Now create a probe with a missing port. + # + assert_raise ArgumentError do + bad = HTTPSTest.new( test_data_bad_one ) + end + + + # + # Now create a probe with a missing URL. + # + assert_raise ArgumentError do + bad = HTTPSTest.new( test_data_bad_two ) + end + + end + + + +end -- cgit v1.2.1