summaryrefslogtreecommitdiff
path: root/utils/open-isns/tests/test02.pl
diff options
context:
space:
mode:
Diffstat (limited to 'utils/open-isns/tests/test02.pl')
-rw-r--r--utils/open-isns/tests/test02.pl58
1 files changed, 58 insertions, 0 deletions
diff --git a/utils/open-isns/tests/test02.pl b/utils/open-isns/tests/test02.pl
new file mode 100644
index 0000000..208bed5
--- /dev/null
+++ b/utils/open-isns/tests/test02.pl
@@ -0,0 +1,58 @@
+#!/usr/bin/perl
+#
+# Copyright (C) 2007 Olaf Kirch <olaf.kirch@oracle.com>
+#
+# This test case validates registration and simple query of
+# two clients, and simple DD functionality.
+
+push(@INC, ".");
+require "harness.pl";
+
+&test_prep("test02", @ARGV);
+
+$server = &create_server;
+$client1 = &create_client($server, "127.1.0.1");
+$client2 = &create_client($server, "127.1.0.2");
+
+&isns_start_server($server);
+
+# 1: Enroll the client1
+&isns_enroll_client($client1);
+
+# 2: Enroll the client1
+&isns_enroll_client($client2, "node-type=target");
+
+&isns_stage("registration", "Registering both clients");
+&__isns_register_client($client1, "initiator portal");
+&__isns_register_client($client2, "target portal");
+&isns_verify_db($server);
+
+# Now each of the two clients should just see
+# itself
+&isns_query_objects($client1, "eid");
+&isns_query_objects($client2, "eid");
+
+# Register a DD linking the two nodes
+&isns_register_domain($client1, "member-name=isns.client1", "member-name=isns.client2");
+
+# Now the clients should see each other
+&isns_query_objects($client1, "eid");
+&isns_query_objects($client2, "eid");
+
+# Initiator querying for target:
+&isns_query_objects($client1, "iscsi-node-type=Target");
+
+# Add another member to this DD, and re-add client2 (making
+# sure the server doesn't generate dupes)
+&isns_register_domain($client1, "dd-id=1", "member-name=isns.client2", "member-name=iqn.com.foobar:disk1");
+
+# Query the list of DDs we're a member of
+&isns_query_objects($client1, "dd-id");
+
+# Remove some entries from the DD
+&isns_deregister_domain($client1, "1", "member-iscsi-idx=10");
+&isns_deregister_domain($client1, "1", "member-name=iqn.com.foobar:disk1");
+&isns_register_domain($client1, "dd-id=1", "member-name=isns.client2");
+&isns_deregister_domain($client1, "1");
+
+&isns_finish;