tests/eventscripts: add unit tests for policy routing reconfigure
authorMartin Schwenke <martin@meltin.net>
Wed, 10 Oct 2012 04:03:06 +0000 (15:03 +1100)
committerMartin Schwenke <martin@meltin.net>
Thu, 11 Oct 2012 01:10:45 +0000 (12:10 +1100)
Signed-off-by: Martin Schwenke <martin@meltin.net>
tests/eventscripts/13.per_ip_routing.016.sh [new file with mode: 0755]
tests/eventscripts/13.per_ip_routing.017.sh [new file with mode: 0755]
tests/eventscripts/13.per_ip_routing.018.sh [new file with mode: 0755]
tests/eventscripts/13.per_ip_routing.019.sh [new file with mode: 0755]

diff --git a/tests/eventscripts/13.per_ip_routing.016.sh b/tests/eventscripts/13.per_ip_routing.016.sh
new file mode 100755 (executable)
index 0000000..485353e
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "empty config, reconfigure, NOOP"
+
+setup_ctdb
+setup_ctdb_policy_routing
+
+create_policy_routing_config 0
+
+ok 'Reconfiguring service "13.per_ip_routing"...'
+simple_test_event "reconfigure"
+
+check_routes 0
diff --git a/tests/eventscripts/13.per_ip_routing.017.sh b/tests/eventscripts/13.per_ip_routing.017.sh
new file mode 100755 (executable)
index 0000000..dcb436a
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "1 IP configured, reconfigure"
+
+setup_ctdb
+setup_ctdb_policy_routing
+
+create_policy_routing_config 1 default
+
+# no takeip, but reconfigure should add any missing routes
+ok 'Reconfiguring service "13.per_ip_routing"...'
+simple_test_event "reconfigure"
+
+check_routes 1 default
diff --git a/tests/eventscripts/13.per_ip_routing.018.sh b/tests/eventscripts/13.per_ip_routing.018.sh
new file mode 100755 (executable)
index 0000000..7a02b0c
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "1 IP configured, ipreallocated, more routes, reconfigure"
+
+setup_ctdb
+setup_ctdb_policy_routing
+
+create_policy_routing_config 1
+
+# no takeip, but ipreallocated should add any missing routes
+ok_null
+simple_test_event "ipreallocated"
+
+create_policy_routing_config 1 default
+
+# reconfigure should update routes even though rules are unchanged
+ok 'Reconfiguring service "13.per_ip_routing"...'
+simple_test_event "reconfigure"
+
+check_routes 1 default
diff --git a/tests/eventscripts/13.per_ip_routing.019.sh b/tests/eventscripts/13.per_ip_routing.019.sh
new file mode 100755 (executable)
index 0000000..2afee08
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "1 IP configured, ipreallocated, less routes, reconfigure"
+
+setup_ctdb
+setup_ctdb_policy_routing
+
+create_policy_routing_config 1 default
+
+# no takeip, but ipreallocated should add any missing routes
+ok_null
+simple_test_event "ipreallocated"
+
+# rewrite the configuration to take out the default routes, as per the
+# above change to $args
+create_policy_routing_config 1
+
+# reconfigure should update routes even though rules are unchanged
+ok 'Reconfiguring service "13.per_ip_routing"...'
+simple_test_event "reconfigure"
+
+check_routes 1