summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2012-10-10 15:03:06 +1100
committerMartin Schwenke <martin@meltin.net>2012-10-11 12:10:45 +1100
commit8e7facc5d31bebd96410e5e0bb581baf0b11b9aa (patch)
tree9f6b30b35434e8ddec1f13dd6162411f74e56945
parentcfef70236325c0edd9f1253ea801bfb0bf6f529e (diff)
downloadsamba-8e7facc5d31bebd96410e5e0bb581baf0b11b9aa.tar.gz
samba-8e7facc5d31bebd96410e5e0bb581baf0b11b9aa.tar.xz
samba-8e7facc5d31bebd96410e5e0bb581baf0b11b9aa.zip
tests/eventscripts: add unit tests for policy routing reconfigure
Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit bd4ff176387372b1c233373c0bc8ced523fc9670)
-rwxr-xr-xctdb/tests/eventscripts/13.per_ip_routing.016.sh15
-rwxr-xr-xctdb/tests/eventscripts/13.per_ip_routing.017.sh16
-rwxr-xr-xctdb/tests/eventscripts/13.per_ip_routing.018.sh22
-rwxr-xr-xctdb/tests/eventscripts/13.per_ip_routing.019.sh24
4 files changed, 77 insertions, 0 deletions
diff --git a/ctdb/tests/eventscripts/13.per_ip_routing.016.sh b/ctdb/tests/eventscripts/13.per_ip_routing.016.sh
new file mode 100755
index 0000000000..485353e1bc
--- /dev/null
+++ b/ctdb/tests/eventscripts/13.per_ip_routing.016.sh
@@ -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/ctdb/tests/eventscripts/13.per_ip_routing.017.sh b/ctdb/tests/eventscripts/13.per_ip_routing.017.sh
new file mode 100755
index 0000000000..dcb436ac66
--- /dev/null
+++ b/ctdb/tests/eventscripts/13.per_ip_routing.017.sh
@@ -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/ctdb/tests/eventscripts/13.per_ip_routing.018.sh b/ctdb/tests/eventscripts/13.per_ip_routing.018.sh
new file mode 100755
index 0000000000..7a02b0c498
--- /dev/null
+++ b/ctdb/tests/eventscripts/13.per_ip_routing.018.sh
@@ -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/ctdb/tests/eventscripts/13.per_ip_routing.019.sh b/ctdb/tests/eventscripts/13.per_ip_routing.019.sh
new file mode 100755
index 0000000000..2afee089a0
--- /dev/null
+++ b/ctdb/tests/eventscripts/13.per_ip_routing.019.sh
@@ -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