Diff for /tests/scripts/test017-syncreplication-refresh between versions 1.33 and 1.33.2.5

version 1.33, 2006/01/11 04:25:09 version 1.33.2.5, 2009/01/26 20:17:38
Line 1 Line 1
 #! /bin/sh  #! /bin/sh
 # $OpenLDAP: pkg/ldap/tests/scripts/test017-syncreplication-refresh,v 1.32 2006/01/03 22:12:29 kurt Exp $  # $OpenLDAP: pkg/ldap/tests/scripts/test017-syncreplication-refresh,v 1.33.2.4 2009/01/22 00:01:19 kurt Exp $
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.  ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##  ##
 ## Copyright 1998-2006 The OpenLDAP Foundation.  ## Copyright 1998-2009 The OpenLDAP Foundation.
 ## All rights reserved.  ## All rights reserved.
 ##  ##
 ## Redistribution and use in source and binary forms, with or without  ## Redistribution and use in source and binary forms, with or without
Line 25  mkdir -p $TESTDIR $DBDIR1 $DBDIR2 Line 25  mkdir -p $TESTDIR $DBDIR1 $DBDIR2
   
 #  #
 # Test replication:  # Test replication:
 # - start master  # - start producer
 # - start slave  # - start consumer
 # - populate over ldap  # - populate over ldap
 # - perform some modifies and deleted  # - perform some modifies and deleted
 # - attempt to modify the slave (referral)  # - attempt to modify the consumer (referral)
 # - retrieve database over ldap and compare against expected results  # - retrieve database over ldap and compare against expected results
 #  #
   
 echo "Starting master slapd on TCP/IP port $PORT1..."  echo "Starting producer slapd on TCP/IP port $PORT1..."
 . $CONFFILTER $BACKEND $MONITORDB < $SRMASTERCONF > $CONF1  . $CONFFILTER $BACKEND $MONITORDB < $SRMASTERCONF > $CONF1
 $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &  $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
 PID=$!  PID=$!
Line 45  KILLPIDS="$PID" Line 45  KILLPIDS="$PID"
   
 sleep 1  sleep 1
   
 echo "Using ldapsearch to check that master slapd is running..."  echo "Using ldapsearch to check that producer slapd is running..."
 for i in 0 1 2 3 4 5; do  for i in 0 1 2 3 4 5; do
         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \          $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
                 'objectclass=*' > /dev/null 2>&1                  'objectclass=*' > /dev/null 2>&1
Line 63  if test $RC != 0 ; then Line 63  if test $RC != 0 ; then
         exit $RC          exit $RC
 fi  fi
   
 echo "Using ldapadd to create the context prefix entry in the master..."  echo "Using ldapadd to create the context prefix entry in the producer..."
 $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \  $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
         $LDIFORDEREDCP > /dev/null 2>&1          $LDIFORDEREDCP > /dev/null 2>&1
 RC=$?  RC=$?
Line 73  if test $RC != 0 ; then Line 73  if test $RC != 0 ; then
         exit $RC          exit $RC
 fi  fi
   
 echo "Starting slave slapd on TCP/IP port $PORT2..."  echo "Starting consumer slapd on TCP/IP port $PORT2..."
 . $CONFFILTER $BACKEND $MONITORDB < $R1SRSLAVECONF > $CONF2  . $CONFFILTER $BACKEND $MONITORDB < $R1SRSLAVECONF > $CONF2
 $SLAPD -f $CONF2 -h $URI2 -d $LVL $TIMING > $LOG2 2>&1 &  $SLAPD -f $CONF2 -h $URI2 -d $LVL $TIMING > $LOG2 2>&1 &
 SLAVEPID=$!  SLAVEPID=$!
Line 85  KILLPIDS="$KILLPIDS $SLAVEPID" Line 85  KILLPIDS="$KILLPIDS $SLAVEPID"
   
 sleep 1  sleep 1
   
 echo "Using ldapsearch to check that slave slapd is running..."  echo "Using ldapsearch to check that consumer slapd is running..."
 for i in 0 1 2 3 4 5; do  for i in 0 1 2 3 4 5; do
         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT2 \          $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT2 \
                 'objectclass=*' > /dev/null 2>&1                  'objectclass=*' > /dev/null 2>&1
Line 103  if test $RC != 0 ; then Line 103  if test $RC != 0 ; then
         exit $RC          exit $RC
 fi  fi
   
 echo "Using ldapadd to populate the master directory..."  echo "Using ldapadd to populate the producer directory..."
 $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \  $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
         $LDIFORDEREDNOCP > /dev/null 2>&1          $LDIFORDEREDNOCP > /dev/null 2>&1
 RC=$?  RC=$?
Line 116  fi Line 116  fi
 echo "Waiting 15 seconds for syncrepl to receive changes..."  echo "Waiting 15 seconds for syncrepl to receive changes..."
 sleep 15  sleep 15
   
 echo "Using ldapmodify to modify master directory..."  echo "Using ldapmodify to modify producer directory..."
   
 #  #
 # Do some modifications  # Do some modifications
Line 193  newsuperior: ou=Retired, ou=People, dc=e Line 193  newsuperior: ou=Retired, ou=People, dc=e
 dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, dc=example,dc=com  dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, dc=example,dc=com
 changetype: delete  changetype: delete
   
   dn: dc=testdomain1,dc=example,dc=com
   changetype: modrdn
   newrdn: dc=itsdomain1
   deleteoldrdn: 1
   
   dn: dc=itsdomain1,dc=example,dc=com
   changetype: modify
   replace: description
   description: Example, Inc. ITS test domain
   
   EOMODS
   
   RC=$?
   if test $RC != 0 ; then
           echo "ldapmodify failed ($RC)!"
           test $KILLSERVERS != no && kill -HUP $KILLPIDS
           exit $RC
   fi
   
   echo "Waiting $SLEEP1 seconds for syncrepl to receive changes..."
   sleep $SLEEP1
   
   echo "Performing modrdn alone on the producer..."
   $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
           $TESTOUT 2>&1 << EOMODS
   dn: dc=testdomain2,dc=example,dc=com
   changetype: modrdn
   newrdn: dc=itsdomain2
   deleteoldrdn: 1
   
   EOMODS
   
   RC=$?
   if test $RC != 0 ; then
           echo "ldapmodify failed ($RC)!"
           test $KILLSERVERS != no && kill -HUP $KILLPIDS
           exit $RC
   fi
   
   echo "Waiting $SLEEP1 seconds for syncrepl to receive changes..."
   sleep $SLEEP1
   
   echo "Performing modify alone on the producer..."
   $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
           $TESTOUT 2>&1 << EOMODS
   dn: dc=itsdomain2,dc=example,dc=com
   changetype: modify
   replace: description
   description: Example, Inc. itsdomain2 test domain
   
 EOMODS  EOMODS
   
 RC=$?  RC=$?
Line 205  fi Line 255  fi
 echo "Waiting 15 seconds for syncrepl to receive changes..."  echo "Waiting 15 seconds for syncrepl to receive changes..."
 sleep 15  sleep 15
   
 echo "Try updating the slave slapd..."  echo "Try updating the consumer slapd..."
 $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT2 -w $PASSWD > \  $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT2 -w $PASSWD > \
         $TESTOUT 2>&1 << EOMODS          $TESTOUT 2>&1 << EOMODS
 dn: cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example, dc=com  dn: cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example, dc=com
Line 220  RC=$? Line 270  RC=$?
   
 # expect 10 (LDAP_REFERRAL)...  # expect 10 (LDAP_REFERRAL)...
 if test $RC != 10 ; then  if test $RC != 10 ; then
         echo "ldapmodify should have failed ($RC)!"          echo "ldapmodify should have returned referral ($RC)!"
         test $KILLSERVERS != no && kill -HUP $KILLPIDS          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 echo "Using ldapsearch to read all the entries from the master..."  OPATTRS="entryUUID creatorsName createTimestamp modifiersName modifyTimestamp"
   
   echo "Using ldapsearch to read all the entries from the producer..."
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \  $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
         'objectclass=*' > $MASTEROUT 2>&1          '(objectclass=*)' '*' $OPATTRS > $MASTEROUT 2>&1
 RC=$?  RC=$?
   
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapsearch failed at master ($RC)!"          echo "ldapsearch failed at producer ($RC)!"
         test $KILLSERVERS != no && kill -HUP $KILLPIDS          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 echo "Using ldapsearch to read all the entries from the slave..."  echo "Using ldapsearch to read all the entries from the consumer..."
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \  $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
         'objectclass=*' > $SLAVEOUT 2>&1          '(objectclass=*)' '*' $OPATTRS > $SLAVEOUT 2>&1
 RC=$?  RC=$?
   
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapsearch failed at slave ($RC)!"          echo "ldapsearch failed at consumer ($RC)!"
         test $KILLSERVERS != no && kill -HUP $KILLPIDS          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 test $KILLSERVERS != no && kill -HUP $KILLPIDS  test $KILLSERVERS != no && kill -HUP $KILLPIDS
   
 echo "Filtering master results..."  echo "Filtering producer results..."
 . $LDIFFILTER < $MASTEROUT > $MASTERFLT  . $LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering slave results..."  echo "Filtering consumer results..."
 . $LDIFFILTER < $SLAVEOUT > $SLAVEFLT  . $LDIFFILTER < $SLAVEOUT > $SLAVEFLT
   
 echo "Comparing retrieved entries from master and slave..."  echo "Comparing retrieved entries from producer and consumer..."
 $CMP $MASTERFLT $SLAVEFLT > $CMPOUT  $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
   
 if test $? != 0 ; then  if test $? != 0 ; then
         echo "test failed - master and slave databases differ"          echo "test failed - producer and consumer databases differ"
         exit 1          exit 1
 fi  fi
   

Removed from v.1.33  
changed lines
  Added in v.1.33.2.5


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org