selftest: Test server_id database add and removal
authorAndrew Bartlett <abartlet@samba.org>
Tue, 14 Mar 2017 03:07:46 +0000 (16:07 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 28 Mar 2017 07:23:11 +0000 (09:23 +0200)
This tests indirectly server_id_db_lookup() and
server_id_db_prune_name(), as well as the imessaging
and the imessaging python bindings.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12705

python/samba/tests/messaging.py
selftest/knownfail

index 3eeab529527fc9b84cfbdcfe9a9c3fd081da5f44..a70be96edc27bf13e98914938c64d42252a48a3c 100644 (file)
@@ -23,6 +23,7 @@ from samba.messaging import Messaging
 from samba.tests import TestCase
 from samba.dcerpc.server_id import server_id
 from samba.ndr import ndr_print
+import random
 
 class MessagingTests(TestCase):
 
@@ -46,20 +47,26 @@ class MessagingTests(TestCase):
         for name in x.irpc_all_servers():
             self.assertTrue(isinstance(x.irpc_servers_byname(name.name), list))
 
+    def test_unknown_name(self):
+        x = self.get_context()
+        self.assertRaises(KeyError,
+                          x.irpc_servers_byname, "samba.messaging test NONEXISTING")
+
     def test_assign_server_id(self):
         x = self.get_context()
         self.assertTrue(isinstance(x.server_id, server_id))
 
-    def test_add_name(self):
+    def test_add_remove_name(self):
         x = self.get_context()
-        x.irpc_add_name("samba.messaging test")
-        name_list = x.irpc_servers_byname("samba.messaging test")
+        name = "samba.messaging test-%d" % random.randint(1, 1000000)
+        x.irpc_add_name(name)
+        name_list = x.irpc_servers_byname(name)
         self.assertEqual(len(name_list), 1)
         self.assertEqual(ndr_print(x.server_id),
                          ndr_print(name_list[0]))
-        x.irpc_remove_name("samba.messaging test")
-        self.assertEqual([],
-                         x.irpc_servers_byname("samba.messaging test"))
+        x.irpc_remove_name(name)
+        self.assertRaises(KeyError,
+                          x.irpc_servers_byname, name)
 
     def test_ping_speed(self):
         server_ctx = self.get_context((0, 1))
index b25038064c3c458811d46f06f4e0e473ec8abaad..b609e27c94fee8ec52506d6167c37d4729ef9b3e 100644 (file)
 ^samba3.smb2.credits.skipped_mid.*
 ^samba4.blackbox.dbcheck-links.release-4-5-0-pre1.dangling_multi_valued_dbcheck
 ^samba4.blackbox.dbcheck-links.release-4-5-0-pre1.dangling_multi_valued_check_missing
+^samba.tests.messaging.samba.tests.messaging.MessagingTests.test_add_remove_name
\ No newline at end of file