Pārlūkot izejas kodu

Ticket 48023 - replace old replication check with lib389 function

Description:  Replaced the old "replication is working" check with
              lib389's more robust replication check function.

https://fedorahosted.org/389/ticket/48023

Reviewed by: nhosoi(Thanks!)
Mark Reynolds 10 gadi atpakaļ
vecāks
revīzija
4681fab27a

+ 8 - 21
dirsrvtests/tickets/create_testcase.py

@@ -168,7 +168,7 @@ if len(sys.argv) > 0:
     # Write the 'topology function'
     #
     TEST.write('@pytest.fixture(scope="module")\n')
-    TEST.write('def topology(request): \n')
+    TEST.write('def topology(request):\n')
     TEST.write('    global installation1_prefix\n')
     TEST.write('    if installation1_prefix:\n')
     TEST.write('        args_instance[SER_DEPLOYED_DIR] = installation1_prefix\n\n')
@@ -391,16 +391,6 @@ if len(sys.argv) > 0:
         # Write replicaton check
         #
         if agmt_count > 0:
-            TEST.write('    #\n')
-            TEST.write('    # Check replication is working...\n')
-            TEST.write('    #\n')
-            TEST.write("    REPL_TEST_DN = 'cn=test repl,' + SUFFIX\n")
-            TEST.write('    master1.add_s(Entry((REPL_TEST_DN, {\n')
-            TEST.write("                  'objectclass': 'top person'.split(),\n")
-            TEST.write("                  'sn': 'test_repl',\n")
-            TEST.write("                  'cn': 'test_repl'})))\n")
-            TEST.write('    loop = 0\n')
-            TEST.write('    ent = None\n')
             # Find the lowest replica type in the deployment(consumer -> master)
             if consumers > 0:
                 replica = 'consumer1'
@@ -408,14 +398,11 @@ if len(sys.argv) > 0:
                 replica = 'hub1'
             else:
                 replica = 'master2'
-            TEST.write('    while loop <= 10:\n')
-            TEST.write('        try:\n')
-            TEST.write('            ent = ' + replica + '.getEntry(REPL_TEST_DN, ldap.SCOPE_BASE, "(objectclass=*)")\n')
-            TEST.write('            break\n')
-            TEST.write('        except ldap.NO_SUCH_OBJECT:\n')
-            TEST.write('            time.sleep(1)\n')
-            TEST.write('            loop += 1\n')
-            TEST.write('    if ent is None:\n')
+            TEST.write('    # Check replication is working...\n')
+            TEST.write('    if master1.testReplication(DEFAULT_SUFFIX, ' + replica + '):\n')
+            TEST.write("        log.info('Replication is working.')\n")
+            TEST.write('    else:\n')
+            TEST.write("        log.fatal('Replication is not working.')\n")
             TEST.write('        assert False\n')
             TEST.write('\n')
 
@@ -510,7 +497,6 @@ if len(sys.argv) > 0:
         for idx in range(consumers):
             idx += 1
             TEST.write('    topology.consumer' + str(idx) + '.delete()\n')
-        TEST.write('\n\n')
     else:
         for idx in range(instances):
             idx += 1
@@ -519,8 +505,9 @@ if len(sys.argv) > 0:
             else:
                 idx = str(idx)
             TEST.write('    topology.standalone' + idx + '.delete()\n')
-        TEST.write('\n\n')
+
     TEST.write("    log.info('Testcase PASSED')\n")
+    TEST.write('\n\n')
 
     #
     # Write the main function

+ 4 - 13
dirsrvtests/tickets/ticket47462_test.py

@@ -117,19 +117,10 @@ def topology(request):
     master1.waitForReplInit(AGMT_DN)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {'objectclass': "top person".split(),
-                                        'sn': 'test_repl',
-                                        'cn': 'test_repl'})))
-    loop = 0
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if not ent:
-        log.fatal('Replication is not working!')
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47490_test.py

@@ -240,20 +240,10 @@ def topology(request):
     master.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master.add_s(Entry((TEST_REPL_DN, {
-                 'objectclass': "top person".split(),
-                 'sn': 'test_repl',
-                 'cn': 'test_repl'})))
-    ent = None
-    loop = 0
-    while loop <= 10:
-        try:
-            ent = consumer.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master.testReplication(DEFAULT_SUFFIX, consumer):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47553_ger.py

@@ -140,20 +140,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47553_single_aci_test.py

@@ -140,20 +140,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 6 - 15
dirsrvtests/tickets/ticket47573_test.py

@@ -186,20 +186,10 @@ def topology(request):
     master.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = consumer.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master.testReplication(DEFAULT_SUFFIX, consumer):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory
@@ -214,7 +204,8 @@ def test_ticket47573_init(topology):
     """
         Initialize the test environment
     """
-    log.debug("test_ticket47573_init topology %r (master %r, consumer %r" % (topology, topology.master, topology.consumer))
+    log.debug("test_ticket47573_init topology %r (master %r, consumer %r" %
+              (topology, topology.master, topology.consumer))
     # the test case will check if a warning message is logged in the
     # error log of the supplier
     topology.master.errorlog_file = open(topology.master.errlog, "r")

+ 4 - 14
dirsrvtests/tickets/ticket47619_test.py

@@ -108,20 +108,10 @@ def topology(request):
     master.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master.add_s(Entry((TEST_REPL_DN, {
-                                            'objectclass': "top person".split(),
-                                            'sn': 'test_repl',
-                                            'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = consumer.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master.testReplication(DEFAULT_SUFFIX, consumer):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47653MMR_test.py

@@ -145,20 +145,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47676_test.py

@@ -156,20 +156,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47721_test.py

@@ -165,20 +165,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47787_test.py

@@ -144,20 +144,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 13
dirsrvtests/tickets/ticket47869MMR_test.py

@@ -118,19 +118,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {'objectclass': "top person".split(),
-                                        'sn': 'test_repl',
-                                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47871_test.py

@@ -109,20 +109,10 @@ def topology(request):
     master.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = consumer.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master.testReplication(DEFAULT_SUFFIX, consumer):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # clear the tmp directory

+ 4 - 14
dirsrvtests/tickets/ticket47988_test.py

@@ -148,20 +148,10 @@ def topology(request):
     master1.waitForReplInit(repl_agreement)
 
     # Check replication is working fine
-    master1.add_s(Entry((TEST_REPL_DN, {
-                        'objectclass': "top person".split(),
-                        'sn': 'test_repl',
-                        'cn': 'test_repl'})))
-    loop = 0
-    ent = None
-    while loop <= 10:
-        try:
-            ent = master2.getEntry(TEST_REPL_DN, ldap.SCOPE_BASE, "(objectclass=*)")
-            break
-        except ldap.NO_SUCH_OBJECT:
-            time.sleep(1)
-            loop += 1
-    if ent is None:
+    if master1.testReplication(DEFAULT_SUFFIX, master2):
+        log.info('Replication is working.')
+    else:
+        log.fatal('Replication is not working.')
         assert False
 
     # Here we have two instances master and consumer