diff options
author | Patrick J Cherry <patrick@bytemark.co.uk> | 2011-07-22 16:55:01 +0100 |
---|---|---|
committer | Patrick J Cherry <patrick@bytemark.co.uk> | 2011-07-22 16:55:01 +0100 |
commit | fd23821950f0562a8995735105cd31fdc6d55933 (patch) | |
tree | 967df2f5647803a6c46f4d52003b2231c1de72cb /test/tc_mauve_configuration_builders_server.rb | |
parent | d3a3cfef9650b08f62db62bd7e86b673f9d77d0b (diff) |
* Rejigged configuration
* Added --test and --verbose flags for the server config
* Started proper test suite
* Config parsing now gives more sensible errors + backtrace
* Rejigged people and source lists
Diffstat (limited to 'test/tc_mauve_configuration_builders_server.rb')
-rw-r--r-- | test/tc_mauve_configuration_builders_server.rb | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/test/tc_mauve_configuration_builders_server.rb b/test/tc_mauve_configuration_builders_server.rb new file mode 100644 index 0000000..4330610 --- /dev/null +++ b/test/tc_mauve_configuration_builders_server.rb @@ -0,0 +1,143 @@ +$:.unshift "../lib/" + +require 'test/unit' +require 'mauve/configuration_builders/server' + +class TcMauveConfigurationBuildersServer < Test::Unit::TestCase + + def test_server_params + hostname = "test.example.com" + database = "sqlite://./test.db" + initial_sleep = 314 + + config=<<EOF +server { + hostname "#{hostname}" + database "#{database}" + initial_sleep #{initial_sleep} +} +EOF + + assert_nothing_raised { Mauve::ConfigurationBuilder.parse(config) } + + # + # Check that we've got the correct things set + # + s = Mauve::Server.instance + assert_equal(hostname, s.hostname) + assert_equal(database, s.database) + assert_equal(initial_sleep, s.initial_sleep) + end + + def test_heartbeat_params + destination = "test-backup.example.com" + summary = "Mauve blurgh!" + detail = "<p>A very interesting test.</p>" + raise_after = 1000 + send_every = 60 + + config=<<EOF +server { + heartbeat { + destination "#{destination}" + summary "#{summary}" + detail "#{detail}" + raise_after #{raise_after} + send_every #{send_every} + } +} +EOF + assert_nothing_raised { Mauve::ConfigurationBuilder.parse(config) } + + h = Mauve::Heartbeat.instance + assert_equal(detail, h.detail) + assert_equal(summary, h.summary) + assert_equal(destination, h.destination) + assert_equal(raise_after, h.raise_at) + assert_equal(send_every, h.sleep_interval) + end + + def test_web_interface_params + ip = "::" + port = 12341 + document_root = "./" + base_url = "http://www.example.com" + session_secret = "asd2342" + sleep_interval = 32 + + config=<<EOF +server { + web_interface { + ip "#{ip}" + port #{port} + document_root "#{document_root}" + base_url "#{base_url}" + session_secret "#{session_secret}" + } +} +EOF + assert_nothing_raised { Mauve::ConfigurationBuilder.parse(config) } + + assert_equal(ip, Mauve::HTTPServer.instance.ip) + assert_equal(port, Mauve::HTTPServer.instance.port) + assert_equal(document_root, Mauve::HTTPServer.instance.document_root) + assert_equal(base_url, Mauve::HTTPServer.instance.base_url) + assert_equal(session_secret, Mauve::HTTPServer.instance.session_secret) + end + + def test_listener_params + ip = "::" + port = 12341 + sleep_interval = 5678 + config=<<EOF +server { + listener { + ip "#{ip}" + port #{port} + sleep_interval #{sleep_interval} + } +} +EOF + + assert_nothing_raised { Mauve::ConfigurationBuilder.parse(config) } + u = Mauve::UDPServer.instance + assert_equal(sleep_interval, u.sleep_interval) + assert_equal(IPAddr.new(ip), u.ip) + assert_equal(port, u.port) + end + + def test_notifier_params + sleep_interval = 23 + config=<<EOF +server { + notifier { + sleep_interval #{sleep_interval} + } +} +EOF + + assert_nothing_raised { Mauve::ConfigurationBuilder.parse(config) } + n = Mauve::Notifier.instance + assert_equal(sleep_interval, n.sleep_interval) + end + + def test_processor_params + transmission_cache_expire_time = 3120 + sleep_interval = 1235 + + config=<<EOF +server { + processor { + transmission_cache_expire_time #{transmission_cache_expire_time} + sleep_interval #{sleep_interval} + } +} +EOF + + assert_nothing_raised { Mauve::ConfigurationBuilder.parse(config) } + pr = Mauve::Processor.instance + assert_equal(transmission_cache_expire_time, pr.transmission_cache_expire_time) + assert_equal(sleep_interval, pr.sleep_interval) + end + +end |