diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-12-03 19:44:26 -0500 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-12-03 19:44:26 -0500 |
commit | 59d01ea63a252c51af00f5975aad12fd2d69aa25 (patch) | |
tree | d981823ca3a34922241ebb9ececf7618aef31db4 | |
parent | 0eda5952b2deee997d540c2b11be11015262806d (diff) | |
download | slapi-nis-59d01ea63a252c51af00f5975aad12fd2d69aa25.tar.gz slapi-nis-59d01ea63a252c51af00f5975aad12fd2d69aa25.tar.xz slapi-nis-59d01ea63a252c51af00f5975aad12fd2d69aa25.zip |
- test detection of changes to attributes munged by other plugins
-rwxr-xr-x | tests/test18-schema-compat/after.sh | 14 | ||||
-rw-r--r-- | tests/test18-schema-compat/after.txt | 199 | ||||
-rwxr-xr-x | tests/test18-schema-compat/before.sh | 14 | ||||
-rw-r--r-- | tests/test18-schema-compat/before.txt | 194 | ||||
-rwxr-xr-x | tests/test18-schema-compat/change.sh | 9 | ||||
-rw-r--r-- | tests/test18-schema-compat/change.txt | 2 | ||||
-rw-r--r-- | tests/test18-schema-compat/description.txt | 1 | ||||
-rw-r--r-- | tests/test18-schema-compat/dse.ldif | 51 | ||||
-rw-r--r-- | tests/test18-schema-compat/userRoot.ldif | 42 |
9 files changed, 526 insertions, 0 deletions
diff --git a/tests/test18-schema-compat/after.sh b/tests/test18-schema-compat/after.sh new file mode 100755 index 0000000..78e580f --- /dev/null +++ b/tests/test18-schema-compat/after.sh @@ -0,0 +1,14 @@ +#!/bin/sh +tmpfile=`mktemp ${TMP:-/tmp}/ldifXXXXXX` +if test -z "$tmpfile" ; then + echo error creating temporary file +fi +trap 'rm -f "$tmpfile"' EXIT +search -b cn=users2,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile +search -b cn=groups,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile +search -b cn=users,cn=compat,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile +search -b cn=groups,cn=compat,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile diff --git a/tests/test18-schema-compat/after.txt b/tests/test18-schema-compat/after.txt new file mode 100644 index 0000000..5b69796 --- /dev/null +++ b/tests/test18-schema-compat/after.txt @@ -0,0 +1,199 @@ +dn: cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: nsContainer +objectClass: top +cn: Users2 + +dn: uid=user2a, cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: posixAccount +objectClass: inetUser +objectClass: top +uid: user2a +uidNumber: 2001 +gidNumber: 2001 +cn: User 2 A +gecos: User 2 A +loginShell: /bin/sh +homeDirectory: /home/user2a + +dn: uid=user2b, cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: posixAccount +objectClass: inetUser +objectClass: top +uid: user2b +uidNumber: 2002 +gidNumber: 2002 +cn: User 2 B +gecos: User 2 B +loginShell: /bin/sh +homeDirectory: /home/user2b +memberOf: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +memberOf: cn=group2c,cn=groups,cn=accounts,dc=example,dc=com + +dn: uid=user2c, cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: posixAccount +objectClass: inetUser +objectClass: top +uid: user2c +uidNumber: 2003 +gidNumber: 2003 +cn: User 2 C +gecos: User 2 C +loginShell: /bin/sh +homeDirectory: /home/user2c + +dn: cn=Groups, cn=Accounts, dc=example, dc=com +objectClass: nsContainer +objectClass: top +cn: Groups + +dn: cn=group1a,cn=groups,cn=accounts,dc=example,dc=com +cn: group1a +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 3001 + +dn: cn=group1b,cn=groups,cn=accounts,dc=example,dc=com +cn: group1b +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 3002 + +dn: cn=group1c,cn=groups,cn=accounts,dc=example,dc=com +cn: group1c +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 3002 + +dn: cn=group2a,cn=groups,cn=accounts,dc=example,dc=com +cn: group2a +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 4001 + +dn: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +cn: group2b +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +member: cn=group2a,cn=groups,cn=accounts,dc=example,dc=com +member: uid=user2b,cn=users2,cn=accounts,dc=example,dc=com +gidNumber: 4002 + +dn: cn=group2c,cn=groups,cn=accounts,dc=example,dc=com +cn: group2c +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +member: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +gidNumber: 4002 + +dn: cn=users,cn=compat,cn=Accounts,dc=example,dc=com +objectClass: extensibleObject +cn: users + +dn: uid=user1a,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user1a +objectClass: posixaccount +objectClass: top +uidNumber: 1001 +gidNumber: 1001 +homeDirectory: /home/user1a +loginShell: /bin/sh +uid: user1a + +dn: uid=user1b,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user1b +objectClass: posixaccount +objectClass: top +uidNumber: 1002 +gidNumber: 1002 +homeDirectory: /home/user1b +loginShell: /bin/sh +uid: user1b + +dn: uid=user1c,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user1c +objectClass: posixaccount +objectClass: top +uidNumber: 1003 +gidNumber: 1003 +homeDirectory: /home/user1c +loginShell: /bin/sh +uid: user1c + +dn: uid=user2a,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user2a +objectClass: posixaccount +objectClass: top +uidNumber: 2001 +gidNumber: 2001 +homeDirectory: /home/user2a +loginShell: /bin/sh +uid: user2a + +dn: uid=user2b,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user2b +objectClass: posixaccount +objectClass: top +uidNumber: 2002 +gidNumber: 2002 +homeDirectory: /home/user2b +loginShell: /bin/sh +uid: user2b + +dn: uid=user2c,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user2c +objectClass: posixaccount +objectClass: top +uidNumber: 2003 +gidNumber: 2003 +homeDirectory: /home/user2c +loginShell: /bin/sh +uid: user2c + +dn: cn=group1a,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 3001 +cn: group1a + +dn: cn=group1b,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 3002 +cn: group1b + +dn: cn=group1c,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 3002 +cn: group1c + +dn: cn=group2a,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 4001 +cn: group2a + +dn: cn=group2b,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 4002 +memberUid: user2b +cn: group2b + +dn: cn=group2c,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 4002 +memberUid: user2b +cn: group2c + +dn: cn=groups,cn=compat,cn=Accounts,dc=example,dc=com +objectClass: extensibleObject +cn: groups + diff --git a/tests/test18-schema-compat/before.sh b/tests/test18-schema-compat/before.sh new file mode 100755 index 0000000..78e580f --- /dev/null +++ b/tests/test18-schema-compat/before.sh @@ -0,0 +1,14 @@ +#!/bin/sh +tmpfile=`mktemp ${TMP:-/tmp}/ldifXXXXXX` +if test -z "$tmpfile" ; then + echo error creating temporary file +fi +trap 'rm -f "$tmpfile"' EXIT +search -b cn=users2,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile +search -b cn=groups,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile +search -b cn=users,cn=compat,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile +search -b cn=groups,cn=compat,cn=accounts,dc=example,dc=com "*" memberOf > $tmpfile +$LDIFSORT $tmpfile diff --git a/tests/test18-schema-compat/before.txt b/tests/test18-schema-compat/before.txt new file mode 100644 index 0000000..ce63d10 --- /dev/null +++ b/tests/test18-schema-compat/before.txt @@ -0,0 +1,194 @@ +dn: cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: nsContainer +objectClass: top +cn: Users2 + +dn: uid=user2a, cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: posixAccount +objectClass: inetUser +objectClass: top +uid: user2a +uidNumber: 2001 +gidNumber: 2001 +cn: User 2 A +gecos: User 2 A +loginShell: /bin/sh +homeDirectory: /home/user2a + +dn: uid=user2b, cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: posixAccount +objectClass: inetUser +objectClass: top +uid: user2b +uidNumber: 2002 +gidNumber: 2002 +cn: User 2 B +gecos: User 2 B +loginShell: /bin/sh +homeDirectory: /home/user2b + +dn: uid=user2c, cn=Users2, cn=Accounts, dc=example, dc=com +objectClass: posixAccount +objectClass: inetUser +objectClass: top +uid: user2c +uidNumber: 2003 +gidNumber: 2003 +cn: User 2 C +gecos: User 2 C +loginShell: /bin/sh +homeDirectory: /home/user2c + +dn: cn=Groups, cn=Accounts, dc=example, dc=com +objectClass: nsContainer +objectClass: top +cn: Groups + +dn: cn=group1a,cn=groups,cn=accounts,dc=example,dc=com +cn: group1a +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 3001 + +dn: cn=group1b,cn=groups,cn=accounts,dc=example,dc=com +cn: group1b +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 3002 + +dn: cn=group1c,cn=groups,cn=accounts,dc=example,dc=com +cn: group1c +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 3002 + +dn: cn=group2a,cn=groups,cn=accounts,dc=example,dc=com +cn: group2a +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +gidNumber: 4001 + +dn: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +cn: group2b +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +member: cn=group2a,cn=groups,cn=accounts,dc=example,dc=com +gidNumber: 4002 + +dn: cn=group2c,cn=groups,cn=accounts,dc=example,dc=com +cn: group2c +objectClass: posixgroup +objectClass: groupofnames +objectClass: top +member: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +gidNumber: 4002 + +dn: cn=users,cn=compat,cn=Accounts,dc=example,dc=com +objectClass: extensibleObject +cn: users + +dn: uid=user1a,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user1a +objectClass: posixaccount +objectClass: top +uidNumber: 1001 +gidNumber: 1001 +homeDirectory: /home/user1a +loginShell: /bin/sh +uid: user1a + +dn: uid=user1b,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user1b +objectClass: posixaccount +objectClass: top +uidNumber: 1002 +gidNumber: 1002 +homeDirectory: /home/user1b +loginShell: /bin/sh +uid: user1b + +dn: uid=user1c,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user1c +objectClass: posixaccount +objectClass: top +uidNumber: 1003 +gidNumber: 1003 +homeDirectory: /home/user1c +loginShell: /bin/sh +uid: user1c + +dn: uid=user2a,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user2a +objectClass: posixaccount +objectClass: top +uidNumber: 2001 +gidNumber: 2001 +homeDirectory: /home/user2a +loginShell: /bin/sh +uid: user2a + +dn: uid=user2b,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user2b +objectClass: posixaccount +objectClass: top +uidNumber: 2002 +gidNumber: 2002 +homeDirectory: /home/user2b +loginShell: /bin/sh +uid: user2b + +dn: uid=user2c,cn=users,cn=compat,cn=accounts,dc=example,dc=com +cn: user2c +objectClass: posixaccount +objectClass: top +uidNumber: 2003 +gidNumber: 2003 +homeDirectory: /home/user2c +loginShell: /bin/sh +uid: user2c + +dn: cn=group1a,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 3001 +cn: group1a + +dn: cn=group1b,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 3002 +cn: group1b + +dn: cn=group1c,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 3002 +cn: group1c + +dn: cn=group2a,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 4001 +cn: group2a + +dn: cn=group2b,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 4002 +cn: group2b + +dn: cn=group2c,cn=groups,cn=compat,cn=accounts,dc=example,dc=com +objectClass: posixgroup +objectClass: top +gidNumber: 4002 +cn: group2c + +dn: cn=groups,cn=compat,cn=Accounts,dc=example,dc=com +objectClass: extensibleObject +cn: groups + diff --git a/tests/test18-schema-compat/change.sh b/tests/test18-schema-compat/change.sh new file mode 100755 index 0000000..2d877d8 --- /dev/null +++ b/tests/test18-schema-compat/change.sh @@ -0,0 +1,9 @@ +#!/bin/sh +modify << EOF +dn: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +changetype: modify +add: member +member: uid=user2b,cn=users2,cn=accounts,dc=example,dc=com +- + +EOF diff --git a/tests/test18-schema-compat/change.txt b/tests/test18-schema-compat/change.txt new file mode 100644 index 0000000..9df4e53 --- /dev/null +++ b/tests/test18-schema-compat/change.txt @@ -0,0 +1,2 @@ +modifying entry "cn=group2b,cn=groups,cn=accounts,dc=example,dc=com" + diff --git a/tests/test18-schema-compat/description.txt b/tests/test18-schema-compat/description.txt new file mode 100644 index 0000000..f0cc3cf --- /dev/null +++ b/tests/test18-schema-compat/description.txt @@ -0,0 +1 @@ +updates in combination with memberof diff --git a/tests/test18-schema-compat/dse.ldif b/tests/test18-schema-compat/dse.ldif new file mode 100644 index 0000000..32e98be --- /dev/null +++ b/tests/test18-schema-compat/dse.ldif @@ -0,0 +1,51 @@ +dn: cn=Membership,cn=plugins,cn=config +objectClass: top +objectClass: nsSlapdPlugin +objectClass: extensibleObject +cn: Membership +nsslapd-pluginPath: libmemberof-plugin +nsslapd-pluginInitfunc: memberof_postop_init +nsslapd-pluginType: postoperation +nsslapd-pluginEnabled: on +nsslapd-pluginId: libmemberof +nsslapd-pluginVersion: 1.1.3 +nsslapd-pluginVendor: Fedora Project +nsslapd-pluginDescription: membership plugin +memberOfAttr: memberOf +memberOfGroupAttr: member + +dn: cn=users, cn=Schema Compatibility, cn=plugins, cn=config +objectClass: top +objectClass: extensibleObject +cn: users +schema-compat-container-group: cn=compat, cn=Accounts, dc=example, dc=com +schema-compat-container-rdn: cn=users +schema-compat-check-access: yes +schema-compat-search-base: cn=Users1, cn=Accounts, dc=example, dc=com +schema-compat-search-base: cn=Users2, cn=Accounts, dc=example, dc=com +schema-compat-search-base: cn=Users, cn=Accounts, dc=example, dc=com +schema-compat-search-filter: objectclass=posixaccount +schema-compat-entry-rdn: uid=%{uid} +schema-compat-entry-attribute: cn=%{uid} +schema-compat-entry-attribute: objectclass=posixaccount +schema-compat-entry-attribute: uidnumber=%{uidnumber} +schema-compat-entry-attribute: gidnumber=%{gidnumber} +schema-compat-entry-attribute: homedirectory=%{homedirectory} +schema-compat-entry-attribute: loginshell=%{loginshell} + +dn: cn=groups, cn=Schema Compatibility, cn=plugins, cn=config +objectClass: top +objectClass: extensibleObject +cn: groups +schema-compat-container-group: cn=compat, cn=Accounts, dc=example, dc=com +schema-compat-container-rdn: cn=groups +schema-compat-check-access: yes +schema-compat-search-base: cn=Groups1, cn=Accounts, dc=example, dc=com +schema-compat-search-base: cn=Groups2, cn=Accounts, dc=example, dc=com +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=posixgroup +schema-compat-entry-attribute: gidnumber=%{gidnumber} +schema-compat-entry-attribute: memberUid=%referred("cn=users","memberOf","uid") + diff --git a/tests/test18-schema-compat/userRoot.ldif b/tests/test18-schema-compat/userRoot.ldif new file mode 100644 index 0000000..c5be44b --- /dev/null +++ b/tests/test18-schema-compat/userRoot.ldif @@ -0,0 +1,42 @@ +dn: cn=Groups, cn=Accounts, dc=example, dc=com +objectClass: nsContainer +cn: Groups + +dn: cn=group1a,cn=groups,cn=accounts,dc=example,dc=com +cn: group1a +objectClass: posixgroup +objectclass: groupofnames +gidNumber: 3001 + +dn: cn=group1b,cn=groups,cn=accounts,dc=example,dc=com +cn: group1b +objectClass: posixgroup +objectclass: groupofnames +gidNumber: 3002 + +dn: cn=group1c,cn=groups,cn=accounts,dc=example,dc=com +cn: group1c +objectClass: posixgroup +objectclass: groupofnames +gidNumber: 3002 + +dn: cn=group2a,cn=groups,cn=accounts,dc=example,dc=com +cn: group2a +objectClass: posixgroup +objectclass: groupofnames +gidNumber: 4001 + +dn: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +cn: group2b +objectClass: posixgroup +objectclass: groupofnames +member: cn=group2a,cn=groups,cn=accounts,dc=example,dc=com +gidNumber: 4002 + +dn: cn=group2c,cn=groups,cn=accounts,dc=example,dc=com +cn: group2c +objectClass: posixgroup +objectclass: groupofnames +member: cn=group2b,cn=groups,cn=accounts,dc=example,dc=com +gidNumber: 4002 + |