diff options
author | Nalin Dahyabhai <nalin@redhat.com> | 2012-01-10 14:51:26 -0500 |
---|---|---|
committer | Nalin Dahyabhai <nalin@redhat.com> | 2012-01-10 14:51:26 -0500 |
commit | 6cc8311b8c73bc55635d0e7aedee530c66eaa04d (patch) | |
tree | c1cea5091dd296d8a6f4f8f77d430d4f649a582b /tests | |
parent | 982244674489c01e3575409561b94337a75e2639 (diff) | |
download | slapi-nis-6cc8311b8c73bc55635d0e7aedee530c66eaa04d.tar.gz slapi-nis-6cc8311b8c73bc55635d0e7aedee530c66eaa04d.tar.xz slapi-nis-6cc8311b8c73bc55635d0e7aedee530c66eaa04d.zip |
- use an internal sequence number to disable the skip-boring-updates logic, and test that while our results don't change, we did actually do processing
Diffstat (limited to 'tests')
20 files changed, 283 insertions, 0 deletions
diff --git a/tests/slapd.sh.in b/tests/slapd.sh.in index 547f391..cbe9ef1 100644 --- a/tests/slapd.sh.in +++ b/tests/slapd.sh.in @@ -69,6 +69,10 @@ startslapd() { if ! test -s $TESTDIR/$TEST/plugin-skip-memberof.txt ; then cat $BTESTDIR/config/dse.ldif.memberof >> $BTESTDIR/config/dse.ldif fi + process_all=0 + if test -s $TESTDIR/$TEST/plugin-process-all.txt ; then + process_all=1 + fi if test -n "$1" && test -s "$1" ; then cat "$1" >> $BTESTDIR/config/dse.ldif fi @@ -79,6 +83,8 @@ startslapd() { fi fi @NIS_PLUGIN_CONTINUE_WITHOUT_PORTMAP_ENV@=1 \ + @NIS_PLUGIN_PROCESS_UNINTERESTING_UPDATES_ENV@=$process_all \ + @SCHEMA_COMPAT_PLUGIN_PROCESS_UNINTERESTING_UPDATES_ENV@=$process_all \ @TRACE_CMD@ \ $SLAPD -D $BTESTDIR/config -i $STATEDIR/pid -w $STATEDIR/pid if ! add -f $BTESTDIR/config/userRoot.ldif > /dev/null 2> /dev/null ; then diff --git a/tests/test28-schema-modify-entry/after.sh b/tests/test28-schema-modify-entry/after.sh new file mode 100755 index 0000000..3b25499 --- /dev/null +++ b/tests/test28-schema-modify-entry/after.sh @@ -0,0 +1,2 @@ +#!/bin/sh +search -b cn=compat,cn=accounts,dc=example,dc=com dn memberUid sequence | $LDIFSORT diff --git a/tests/test28-schema-modify-entry/after.txt b/tests/test28-schema-modify-entry/after.txt new file mode 100644 index 0000000..2b2f173 --- /dev/null +++ b/tests/test28-schema-modify-entry/after.txt @@ -0,0 +1,13 @@ +dn: cn=compat,cn=accounts,dc=example,dc=com + +dn: cn=g1,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser1 +sequence: 1 + +dn: cn=g2,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser2 +memberUid: tuser1 +sequence: 2 + +dn: ou=group,cn=compat,cn=accounts,dc=example,dc=com + diff --git a/tests/test28-schema-modify-entry/before.sh b/tests/test28-schema-modify-entry/before.sh new file mode 100755 index 0000000..3b25499 --- /dev/null +++ b/tests/test28-schema-modify-entry/before.sh @@ -0,0 +1,2 @@ +#!/bin/sh +search -b cn=compat,cn=accounts,dc=example,dc=com dn memberUid sequence | $LDIFSORT diff --git a/tests/test28-schema-modify-entry/before.txt b/tests/test28-schema-modify-entry/before.txt new file mode 100644 index 0000000..2b2f173 --- /dev/null +++ b/tests/test28-schema-modify-entry/before.txt @@ -0,0 +1,13 @@ +dn: cn=compat,cn=accounts,dc=example,dc=com + +dn: cn=g1,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser1 +sequence: 1 + +dn: cn=g2,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser2 +memberUid: tuser1 +sequence: 2 + +dn: ou=group,cn=compat,cn=accounts,dc=example,dc=com + diff --git a/tests/test28-schema-modify-entry/change.sh b/tests/test28-schema-modify-entry/change.sh new file mode 100755 index 0000000..6a9264c --- /dev/null +++ b/tests/test28-schema-modify-entry/change.sh @@ -0,0 +1,11 @@ +#!/bin/sh +modify << EOF +dn: cn=g2,cn=groups,cn=accounts,dc=example,dc=com +changetype: modify +replace: gidNumber +gidNumber: 2002 +- + +EOF +# give memberOf a few seconds to catch up +sleep 5 diff --git a/tests/test28-schema-modify-entry/change.txt b/tests/test28-schema-modify-entry/change.txt new file mode 100644 index 0000000..f8ae3a0 --- /dev/null +++ b/tests/test28-schema-modify-entry/change.txt @@ -0,0 +1,2 @@ +modifying entry "cn=g2,cn=groups,cn=accounts,dc=example,dc=com" + diff --git a/tests/test28-schema-modify-entry/description.txt b/tests/test28-schema-modify-entry/description.txt new file mode 100644 index 0000000..2b7ff3f --- /dev/null +++ b/tests/test28-schema-modify-entry/description.txt @@ -0,0 +1 @@ +skipping uninteresting changes diff --git a/tests/test28-schema-modify-entry/dse.ldif b/tests/test28-schema-modify-entry/dse.ldif new file mode 100644 index 0000000..c04bdbb --- /dev/null +++ b/tests/test28-schema-modify-entry/dse.ldif @@ -0,0 +1,14 @@ +dn: cn=compat-group,cn=Schema Compatibility,cn=plugins,cn=config +objectClass: top +objectClass: extensibleObject +cn: compat-group +schema-compat-container-group: cn=compat,cn=accounts,dc=example,dc=com +schema-compat-container-rdn: ou=group +schema-compat-check-access: yes +schema-compat-search-base: cn=groups,cn=Accounts,dc=example,dc=com +schema-compat-search-filter: (objectClass=posixGroup) +schema-compat-entry-rdn: cn=%{cn} +schema-compat-entry-attribute: objectclass=extensibleObject +schema-compat-entry-attribute: memberUid=%deref_r("member","uid") +schema-compat-entry-attribute: sequence=%internal_sequence_number() + diff --git a/tests/test28-schema-modify-entry/userRoot.ldif b/tests/test28-schema-modify-entry/userRoot.ldif new file mode 100644 index 0000000..59a1577 --- /dev/null +++ b/tests/test28-schema-modify-entry/userRoot.ldif @@ -0,0 +1,80 @@ +# users, accounts, example.com +dn: cn=users,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: nsContainer +cn: users + +# groups, accounts, example.com +dn: cn=groups,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: nsContainer +cn: groups + +# tuser1, users, accounts, example.com +dn: uid=tuser1,cn=users,cn=accounts,dc=example,dc=com +uid: tuser1 +objectClass: top +objectClass: person +objectClass: posixAccount +objectClass: inetUser +loginShell: /bin/sh +gidNumber: 1003 +gecos: tuser1 +sn: User +homeDirectory: /home/tuser1 +cn: Tim User +uidNumber: 1101 + +# tuser2, users, accounts, example.com +dn: uid=tuser2,cn=users,cn=accounts,dc=example,dc=com +uid: tuser2 +objectClass: top +objectClass: person +objectClass: posixAccount +objectClass: inetUser +loginShell: /bin/sh +gidNumber: 1004 +gecos: tuser2 +sn: User +homeDirectory: /home/tuser2 +cn: Timmy User +uidNumber: 1102 + +# tuser3, users, accounts, example.com +dn: uid=tuser3,cn=users,cn=accounts,dc=example,dc=com +uid: tuser3 +objectClass: top +objectClass: person +objectClass: posixAccount +objectClass: inetUser +loginShell: /bin/sh +gidNumber: 1004 +gecos: tuser3 +sn: User +homeDirectory: /home/tuser3 +cn: Timothy User +uidNumber: 1103 + +# g1, groups, accounts, example.com +dn: cn=g1,cn=groups,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: groupofnames +objectClass: posixGroup +objectClass: inetUser +gidNumber: 1001 +cn: g1 +description: g1 +member: uid=tuser1,cn=users,cn=accounts,dc=example,dc=com + +# g2, groups, accounts, example.com +dn: cn=g2,cn=groups,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: groupofnames +objectClass: posixGroup +objectClass: inetUser +gidNumber: 1002 +cn: g2 +description: g2 +member: cn=g1,cn=groups,cn=accounts,dc=example,dc=com +member: uid=tuser2,cn=users,cn=accounts,dc=example,dc=com + diff --git a/tests/test29-schema-modify-entry/after.sh b/tests/test29-schema-modify-entry/after.sh new file mode 100755 index 0000000..a8a0114 --- /dev/null +++ b/tests/test29-schema-modify-entry/after.sh @@ -0,0 +1,2 @@ +#!/bin/sh +search -b cn=compat,cn=accounts,dc=example,dc=com dn memberUid sequence | $LDIFSORT | sed -e 's,^sequence: 1$,sequence: unchanged,g' -e 's,^sequence: 2$,sequence: unchanged,g' | sed -e 's,^sequence: [0-9].*$,sequence: CHANGED,g' diff --git a/tests/test29-schema-modify-entry/after.txt b/tests/test29-schema-modify-entry/after.txt new file mode 100644 index 0000000..68a7864 --- /dev/null +++ b/tests/test29-schema-modify-entry/after.txt @@ -0,0 +1,13 @@ +dn: cn=compat,cn=accounts,dc=example,dc=com + +dn: cn=g1,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser1 +sequence: CHANGED + +dn: cn=g2,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser2 +memberUid: tuser1 +sequence: CHANGED + +dn: ou=group,cn=compat,cn=accounts,dc=example,dc=com + diff --git a/tests/test29-schema-modify-entry/before.sh b/tests/test29-schema-modify-entry/before.sh new file mode 100755 index 0000000..3b25499 --- /dev/null +++ b/tests/test29-schema-modify-entry/before.sh @@ -0,0 +1,2 @@ +#!/bin/sh +search -b cn=compat,cn=accounts,dc=example,dc=com dn memberUid sequence | $LDIFSORT diff --git a/tests/test29-schema-modify-entry/before.txt b/tests/test29-schema-modify-entry/before.txt new file mode 100644 index 0000000..2b2f173 --- /dev/null +++ b/tests/test29-schema-modify-entry/before.txt @@ -0,0 +1,13 @@ +dn: cn=compat,cn=accounts,dc=example,dc=com + +dn: cn=g1,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser1 +sequence: 1 + +dn: cn=g2,ou=group,cn=compat,cn=accounts,dc=example,dc=com +memberUid: tuser2 +memberUid: tuser1 +sequence: 2 + +dn: ou=group,cn=compat,cn=accounts,dc=example,dc=com + diff --git a/tests/test29-schema-modify-entry/change.sh b/tests/test29-schema-modify-entry/change.sh new file mode 100755 index 0000000..6a9264c --- /dev/null +++ b/tests/test29-schema-modify-entry/change.sh @@ -0,0 +1,11 @@ +#!/bin/sh +modify << EOF +dn: cn=g2,cn=groups,cn=accounts,dc=example,dc=com +changetype: modify +replace: gidNumber +gidNumber: 2002 +- + +EOF +# give memberOf a few seconds to catch up +sleep 5 diff --git a/tests/test29-schema-modify-entry/change.txt b/tests/test29-schema-modify-entry/change.txt new file mode 100644 index 0000000..f8ae3a0 --- /dev/null +++ b/tests/test29-schema-modify-entry/change.txt @@ -0,0 +1,2 @@ +modifying entry "cn=g2,cn=groups,cn=accounts,dc=example,dc=com" + diff --git a/tests/test29-schema-modify-entry/description.txt b/tests/test29-schema-modify-entry/description.txt new file mode 100644 index 0000000..b44991e --- /dev/null +++ b/tests/test29-schema-modify-entry/description.txt @@ -0,0 +1 @@ +not skipping uninteresting changes diff --git a/tests/test29-schema-modify-entry/dse.ldif b/tests/test29-schema-modify-entry/dse.ldif new file mode 100644 index 0000000..c04bdbb --- /dev/null +++ b/tests/test29-schema-modify-entry/dse.ldif @@ -0,0 +1,14 @@ +dn: cn=compat-group,cn=Schema Compatibility,cn=plugins,cn=config +objectClass: top +objectClass: extensibleObject +cn: compat-group +schema-compat-container-group: cn=compat,cn=accounts,dc=example,dc=com +schema-compat-container-rdn: ou=group +schema-compat-check-access: yes +schema-compat-search-base: cn=groups,cn=Accounts,dc=example,dc=com +schema-compat-search-filter: (objectClass=posixGroup) +schema-compat-entry-rdn: cn=%{cn} +schema-compat-entry-attribute: objectclass=extensibleObject +schema-compat-entry-attribute: memberUid=%deref_r("member","uid") +schema-compat-entry-attribute: sequence=%internal_sequence_number() + diff --git a/tests/test29-schema-modify-entry/plugin-process-all.txt b/tests/test29-schema-modify-entry/plugin-process-all.txt new file mode 100644 index 0000000..fc7b80d --- /dev/null +++ b/tests/test29-schema-modify-entry/plugin-process-all.txt @@ -0,0 +1 @@ +verifying that we get called diff --git a/tests/test29-schema-modify-entry/userRoot.ldif b/tests/test29-schema-modify-entry/userRoot.ldif new file mode 100644 index 0000000..59a1577 --- /dev/null +++ b/tests/test29-schema-modify-entry/userRoot.ldif @@ -0,0 +1,80 @@ +# users, accounts, example.com +dn: cn=users,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: nsContainer +cn: users + +# groups, accounts, example.com +dn: cn=groups,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: nsContainer +cn: groups + +# tuser1, users, accounts, example.com +dn: uid=tuser1,cn=users,cn=accounts,dc=example,dc=com +uid: tuser1 +objectClass: top +objectClass: person +objectClass: posixAccount +objectClass: inetUser +loginShell: /bin/sh +gidNumber: 1003 +gecos: tuser1 +sn: User +homeDirectory: /home/tuser1 +cn: Tim User +uidNumber: 1101 + +# tuser2, users, accounts, example.com +dn: uid=tuser2,cn=users,cn=accounts,dc=example,dc=com +uid: tuser2 +objectClass: top +objectClass: person +objectClass: posixAccount +objectClass: inetUser +loginShell: /bin/sh +gidNumber: 1004 +gecos: tuser2 +sn: User +homeDirectory: /home/tuser2 +cn: Timmy User +uidNumber: 1102 + +# tuser3, users, accounts, example.com +dn: uid=tuser3,cn=users,cn=accounts,dc=example,dc=com +uid: tuser3 +objectClass: top +objectClass: person +objectClass: posixAccount +objectClass: inetUser +loginShell: /bin/sh +gidNumber: 1004 +gecos: tuser3 +sn: User +homeDirectory: /home/tuser3 +cn: Timothy User +uidNumber: 1103 + +# g1, groups, accounts, example.com +dn: cn=g1,cn=groups,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: groupofnames +objectClass: posixGroup +objectClass: inetUser +gidNumber: 1001 +cn: g1 +description: g1 +member: uid=tuser1,cn=users,cn=accounts,dc=example,dc=com + +# g2, groups, accounts, example.com +dn: cn=g2,cn=groups,cn=accounts,dc=example,dc=com +objectClass: top +objectClass: groupofnames +objectClass: posixGroup +objectClass: inetUser +gidNumber: 1002 +cn: g2 +description: g2 +member: cn=g1,cn=groups,cn=accounts,dc=example,dc=com +member: uid=tuser2,cn=users,cn=accounts,dc=example,dc=com + |