'Test Name = %s' % STAXCurrentTestcase 'Replication: External Changelog: - Setup. \ Set up environment for External Changelog tests' 'Common ECL tests: reset data' { 'location' : masterHost, 'dsPath' : masterPath, 'dsInstanceHost' : masterHost, 'dsInstanceAdminPort' : master.getAdminPort(), 'localOnly' : False, 'replicationDnList' : [synchroSuffix], 'adminUID' : adminUID, 'adminPswd' : adminPswd } { 'location' : masterHost, 'dsPath' : masterPath, 'dsHost' : masterHost, 'dsAdminPort' : master.getAdminPort(), 'dsBindDN' : master.getRootDn(), 'dsBindPwd' : master.getRootPwd() } { 'location' : masterHost, 'dsPath' : masterPath, 'backEnd' : DIRECTORY_INSTANCE_BE, 'ldifFile' : '%s/replication/Example.ldif' \ % masterDataDir } { 'location' : masterHost, 'dsPath' : masterPath, 'dsDebugPort' : master.getDebugPort() } { 'location' : masterHost, 'dsPath' : masterPath, 'dsInstanceHost' : masterHost, 'dsInstancePort' : master.getPort() , 'dsInstanceDn' : master.getRootDn() , 'dsInstancePswd' : master.getRootPwd() , 'noOfLoops' : 10 , 'noOfMilliSeconds' : 2000 } { 'location' : clientHost, 'dsPath' : clientPath, 'sourceInstanceHost' : masterHost, 'sourceInstanceAdminPort' : master.getAdminPort(), 'replicationDnList' : [synchroSuffix] } 'Set purge delay to %s seconds on server %s:%s' \ % (ecl_purge_delay, replServer.getHostname(), replServer.getPort()) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstanceAdminPort' : replServer.getAdminPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'objectName' : 'replication-server' , 'propertyType' : 'provider', 'propertyName' : 'Multimaster Synchronization', 'attributeName' : 'replication-purge-delay' , 'attributeValue' : '%s s' % ecl_purge_delay } [ clientHost, clientPath, master, consumerList, synchroSuffix ] 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Add entries in the various replication servers.' } 'Add Entry (%s) on server %s:%s' \ % (myEntry.getDn(), replServer.getHostname(), replServer.getPort()) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'DNToAdd' : myEntry.getDn(), 'listAttributes' : myEntry.getAttrList() } { 'stepMessage' : 'Check that the changeLogCookie and lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:;', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } { 'stepMessage' : 'Verify the synchronization of the trees among the servers in the topology.' } [ clientHost, clientPath, master, consumerList, synchroSuffix ] 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeNumber and lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : cnsList, 'label' : 'changeNumbers' } { 'stepMessage' : 'Check that firstChangeNumbers match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsScope' : 'base', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'firstChangeNumber', 'extraParams' : '-T' } { 'items' : fcnsList , 'label' : 'firstChangeNumber' } { 'stepMessage' : 'Count changelog entries in draft mode.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'dn' , 'extraParams' : '-T' } 'Search returned %s changes, expected %s' % (dncount,noOfEntries) 'Search returned %s changes, expected %s' % (dncount,noOfEntries) { 'items' : dncList , 'label' : 'numberOfEntries' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Modify Entries various replication servers.' } 'Modify Entry (%s) on server %s:%s' \ % (myEntry.getDn(), replServer.getHostname(), replServer.getPort()) { 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname() , 'dsInstancePort' : replServer.getPort() , 'dsInstanceDn' : replServer.getRootDn() , 'dsInstancePswd' : replServer.getRootPwd() , 'DNToModify' : myEntry.getDn() , 'attributeName' : 'description' , 'newAttributeValue' : 'This is a new change' , 'changetype' : 'add' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : myEntry.getDn(), 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'description', 'extraParams' : '-T' } { 'stepMessage' : 'Check that the changeLogCookie and lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:%s' % mycookie, 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } { 'stepMessage' : 'Verify the synchronization of the trees among the servers in the topology.' } [ clientHost, clientPath, master, consumerList, synchroSuffix ] 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeNumber and lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : cnsList, 'label' : 'changeNumbers' } { 'stepMessage' : 'Check that firstChangeNumbers match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsScope' : 'base', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'firstChangeNumber', 'extraParams' : '-T' } { 'items' : fcnsList , 'label' : 'firstChangeNumber' } { 'stepMessage' : 'Count changelog entries in draft mode.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'dn' , 'extraParams' : '-T' } 'Search returned %s changes, expected %s' % (dncount,noOfEntries) 'Search returned %s changes, expected %s' % (dncount,noOfEntries) { 'items' : dncList , 'label' : 'numberOfEntries' } 'Test Name = %s' % STAXCurrentTestcase { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(changenumber=%s)' % mychangenumber, 'dsAttributes' : 'changeLogCookie' , 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Modify entry on one server.' } 'Modify Entry (%s) on server %s:%s' \ % (myEntry.getDn(), masterHost, master.getPort()) { 'dsPath' : masterPath, 'dsInstanceHost' : masterHost , 'dsInstancePort' : master.getPort() , 'dsInstanceDn' : master.getRootDn() , 'dsInstancePswd' : master.getRootPwd() , 'DNToModify' : myEntry.getDn() , 'attributeName' : 'description' , 'newAttributeValue' : 'this is a change on server 1', 'changetype' : 'add' } { 'stepMessage' : 'Check that the changeLogCookie and lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:%s' % mycookie, 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeNumber and lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(changenumber>=%s)' % mychangenumber, 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : cnsList, 'label' : 'changeNumbers' } 'Test Name = %s' % STAXCurrentTestcase 'Modify Entry (%s) on server %s:%s' \ % (myEntry.getDn(), consumerServer.getHostname(), consumerServer.getPort()) { 'dsPath' : consumerServerPath, 'dsInstanceHost' : consumerServer.getHostname() , 'dsInstancePort' : consumerServer.getPort() , 'dsInstanceDn' : consumerServer.getRootDn() , 'dsInstancePswd' : consumerServer.getRootPwd() , 'DNToModify' : myEntry.getDn() , 'attributeName' : 'description' , 'newAttributeValue' : 'this is a change on server 2', 'changetype' : 'add' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:%s' % mycookie, 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeNumber and lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(changenumber>=%s)' % mychangenumber, 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : cnsList + lcnsList, 'label' : 'changeNumbers' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Modify entries on one server.' } 'Modify Entry (%s) on server %s:%s' \ % (myEntry.getDn(), masterHost, master.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'dsInstanceHost' : masterHost, 'dsInstancePort' : master.getPort() , 'dsInstanceDn' : master.getRootDn() , 'dsInstancePswd' : master.getRootPwd() , 'DNToModify' : myEntry.getDn() , 'listAttributes' : ldapObject , 'changetype' : 'replace' } { 'stepMessage' : 'Check that the changeLogCookie and lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:%s' % mycookie, 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'changeNumber>=%s' % mychangenumber, 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'stepMessage' : 'Check that the lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'lastChangeNumber>=%s' % mychangenumber, 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : cnsList + lcnsList, 'label' : 'changeNumbers' } { 'stepMessage' : 'Check that the firstChangeNumbers match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsScope' : 'base', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'firstChangeNumber', 'extraParams' : '-T' } { 'items' : fcnsList , 'label' : 'firstChangeNumber' } 'Test Name = %s' % STAXCurrentTestcase 'Sleeping for %s secs' % ecl_purge_delay { 'sleepForMilliSeconds' : sleepMilliSeconds } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : lastCookiesList , 'label' : 'lastExternalChangelogCookie' } { 'stepMessage' : 'Search on servers with last cookie.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:%s' % lastCookiesList[i], 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookie' } { 'stepMessage' : 'Search on servers with changenumber (draft mode).' } 'Now checking draft mode.' { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'changeNumber>=%s' % mychangenumber, 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'changeNumber>=%s' % mychangenumber, 'dsAttributes' : 'changeLogCookie', 'extraParams' : '-T' } { 'items' : cnsList , 'label' : 'draftModeChangeNumber' } { 'items' : cookiesList , 'label' : 'draftModeChangeLogCookie' } { 'stepMessage' : 'Check that the lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : lcnsList, 'label' : 'lastChangeNumber' } { 'stepMessage' : 'Check that the firstChangeNumbers match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'firstChangeNumber', 'extraParams' : '-T' } { 'items' : fcnsList , 'label' : 'firstChangeNumber' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Modify entry on one server.' } 'Modify Entry (%s) on server %s:%s' \ % (myEntry.getDn(), masterHost, master.getPort()) { 'dsPath' : masterPath, 'dsInstanceHost' : masterHost , 'dsInstancePort' : master.getPort() , 'dsInstanceDn' : master.getRootDn() , 'dsInstancePswd' : master.getRootPwd() , 'DNToModify' : myEntry.getDn() , 'attributeName' : 'description' , 'newAttributeValue' : 'this is a change on server 1', 'changetype' : 'add' } { 'stepMessage' : 'Check that the changeLogCookie and lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:%s' % mycookie, 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase 'Modify Entry (%s) on server %s:%s' \ % (myEntry.getDn(), consumerServer.getHostname(), consumerServer.getPort()) { 'dsPath' : consumerServerPath, 'dsInstanceHost' : consumerServer.getHostname() , 'dsInstancePort' : consumerServer.getPort() , 'dsInstanceDn' : consumerServer.getRootDn() , 'dsInstancePswd' : consumerServer.getRootPwd() , 'DNToModify' : myEntry.getDn() , 'attributeName' : 'description' , 'newAttributeValue' : 'this is a change on server 2', 'changetype' : 'add' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:;', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'objectclass=*', 'dsScope' : 'base', 'dsAttributes' : 'lastExternalChangelogCookie', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'changeNumber>=%s' % mychangenumber, 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'stepMessage' : 'Check that the lastChangeNumber match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsFilter' : 'lastChangeNumber>=%s' % mylastcn, 'dsScope' : 'base', 'dsAttributes' : 'lastChangeNumber', 'extraParams' : '-T' } { 'items' : cnsList + lcnsList, 'label' : 'changeNumbers', 'knownIssue' : 'OPENDJ-1051' } { 'stepMessage' : 'Check that the firstChangeNumbers match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : '', 'dsScope' : 'base', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'firstChangeNumber', 'extraParams' : '-T' } { 'items' : fcnsList , 'label' : 'firstChangeNumber' } 'Test Name = %s' % STAXCurrentTestcase { 'stepMessage' : 'Check that the changeLogCookie and lastExternalChangelogCookie match.' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeLogCookie' , 'dsControl' : '1.3.6.1.4.1.26027.1.5.4:false:;', 'extraParams' : '-T' } { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsBaseDN' : 'cn=changelog', 'dsFilter' : 'objectclass=*', 'dsAttributes' : 'changeNumber', 'extraParams' : '-T' } { 'items' : cookiesList , 'label' : 'changeLogCookies' } { 'items' : cnsList , 'label' : 'changeLogCookies' } 'Test Name = %s' % STAXCurrentTestcase 'Replication: External Changelog: - Clean up. \ Clean up environment for External Changelog tests' Compares all items in List for equality List of items to be compared for equality Friendly label to aid description Issue id. Corresponds to an issue number. 'The list to compare is empty.' '%s Items match successfully (%s)' % (label,items) { 'issueId' : knownIssue } '%s Items do not match (%s)' % (label,items)