summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtests/test14-schema-scope/before.sh23
-rw-r--r--tests/test14-schema-scope/before.txt150
-rw-r--r--tests/test14-schema-scope/description.txt1
-rw-r--r--tests/test14-schema-scope/dse.ldif12
4 files changed, 186 insertions, 0 deletions
diff --git a/tests/test14-schema-scope/before.sh b/tests/test14-schema-scope/before.sh
new file mode 100755
index 0000000..d68ea45
--- /dev/null
+++ b/tests/test14-schema-scope/before.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+tmpfile=`mktemp ${TMP:-/tmp}/ldifXXXXXX`
+if test -z "$tmpfile" ; then
+ echo error creating temporary file
+fi
+trap 'rm -f "$tmpfile"' EXIT
+for base in \
+ cn=bogus_subentry,cn=bogus_entry,cn=bogus_set,cn=compat, \
+ cn=bogus_subentry,cn=bogus_entry,ou=passwd,cn=compat, \
+ cn=bogus_subentry,uid=user1a,ou=passwd,cn=compat, \
+ uid=user1a,ou=passwd,cn=compat, \
+ ou=passwd,cn=compat, \
+ cn=compat, \
+ "" ; do
+ for scope in base one sub ; do
+ echo \[${base}cn=accounts,dc=example,dc=com:${scope}\]
+ search -b ${base}cn=accounts,dc=example,dc=com -s $scope dn > $tmpfile
+ grep -i ^result: $tmpfile
+ grep -i ^matchedDN: $tmpfile
+ $LDIFSORT $tmpfile
+ echo ""
+ done
+done
diff --git a/tests/test14-schema-scope/before.txt b/tests/test14-schema-scope/before.txt
new file mode 100644
index 0000000..1f155e0
--- /dev/null
+++ b/tests/test14-schema-scope/before.txt
@@ -0,0 +1,150 @@
+[cn=bogus_subentry,cn=bogus_entry,cn=bogus_set,cn=compat,cn=accounts,dc=example,dc=com:base]
+result: 32 No such object
+matchedDN: cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,cn=bogus_entry,cn=bogus_set,cn=compat,cn=accounts,dc=example,dc=com:one]
+result: 32 No such object
+matchedDN: cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,cn=bogus_entry,cn=bogus_set,cn=compat,cn=accounts,dc=example,dc=com:sub]
+result: 32 No such object
+matchedDN: cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,cn=bogus_entry,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:base]
+result: 32 No such object
+matchedDN: ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,cn=bogus_entry,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:one]
+result: 32 No such object
+matchedDN: ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,cn=bogus_entry,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:sub]
+result: 32 No such object
+matchedDN: ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:base]
+result: 32 No such object
+matchedDN: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:one]
+result: 32 No such object
+matchedDN: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+[cn=bogus_subentry,uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:sub]
+result: 32 No such object
+matchedDN: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+[uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:base]
+result: 0 Success
+dn: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+
+[uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:one]
+result: 0 Success
+
+[uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:sub]
+result: 0 Success
+dn: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+
+[ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:base]
+result: 0 Success
+dn: ou=passwd,cn=compat, cn=Accounts, dc=example, dc=com
+
+
+[ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:one]
+result: 0 Success
+dn: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1b,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1c,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+
+[ou=passwd,cn=compat,cn=accounts,dc=example,dc=com:sub]
+result: 0 Success
+dn: ou=passwd,cn=compat, cn=Accounts, dc=example, dc=com
+
+dn: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1b,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1c,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+
+[cn=compat,cn=accounts,dc=example,dc=com:base]
+result: 0 Success
+dn: cn=compat, cn=Accounts, dc=example, dc=com
+
+
+[cn=compat,cn=accounts,dc=example,dc=com:one]
+result: 0 Success
+dn: ou=passwd,cn=compat, cn=Accounts, dc=example, dc=com
+
+
+[cn=compat,cn=accounts,dc=example,dc=com:sub]
+result: 0 Success
+dn: cn=compat, cn=Accounts, dc=example, dc=com
+
+dn: ou=passwd,cn=compat, cn=Accounts, dc=example, dc=com
+
+dn: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1b,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1c,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+
+[cn=accounts,dc=example,dc=com:base]
+result: 0 Success
+dn: cn=Accounts, dc=example, dc=com
+
+
+[cn=accounts,dc=example,dc=com:one]
+result: 0 Success
+dn: cn=Groups1, cn=Accounts, dc=example, dc=com
+
+dn: cn=Groups2, cn=Accounts, dc=example, dc=com
+
+dn: cn=Users1, cn=Accounts, dc=example, dc=com
+
+dn: cn=Users2, cn=Accounts, dc=example, dc=com
+
+dn: cn=compat, cn=Accounts, dc=example, dc=com
+
+
+[cn=accounts,dc=example,dc=com:sub]
+result: 0 Success
+dn: cn=Accounts, dc=example, dc=com
+
+dn: cn=Groups1, cn=Accounts, dc=example, dc=com
+
+dn: cn=Groups2, cn=Accounts, dc=example, dc=com
+
+dn: cn=Users1, cn=Accounts, dc=example, dc=com
+
+dn: cn=Users2, cn=Accounts, dc=example, dc=com
+
+dn: cn=compat, cn=Accounts, dc=example, dc=com
+
+dn: ou=passwd,cn=compat, cn=Accounts, dc=example, dc=com
+
+dn: uid=user1a, cn=Users1, cn=Accounts, dc=example, dc=com
+
+dn: uid=user1a,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1b, cn=Users1, cn=Accounts, dc=example, dc=com
+
+dn: uid=user1b,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user1c, cn=Users1, cn=Accounts, dc=example, dc=com
+
+dn: uid=user1c,ou=passwd,cn=compat,cn=accounts,dc=example,dc=com
+
+dn: uid=user2a, cn=Users2, cn=Accounts, dc=example, dc=com
+
+dn: uid=user2b, cn=Users2, cn=Accounts, dc=example, dc=com
+
+dn: uid=user2c, cn=Users2, cn=Accounts, dc=example, dc=com
+
+
diff --git a/tests/test14-schema-scope/description.txt b/tests/test14-schema-scope/description.txt
new file mode 100644
index 0000000..90398ed
--- /dev/null
+++ b/tests/test14-schema-scope/description.txt
@@ -0,0 +1 @@
+searches with various scope
diff --git a/tests/test14-schema-scope/dse.ldif b/tests/test14-schema-scope/dse.ldif
new file mode 100644
index 0000000..35c2899
--- /dev/null
+++ b/tests/test14-schema-scope/dse.ldif
@@ -0,0 +1,12 @@
+dn: cn=compat-passwd,cn=Schema Compatibility,cn=plugins,cn=config
+objectClass: top
+objectClass: extensibleObject
+cn: compat-passwd
+schema-compat-container-group: cn=compat, cn=Accounts, dc=example, dc=com
+schema-compat-container-rdn: ou=passwd
+schema-compat-check-access: yes
+schema-compat-search-base: cn=Users1, cn=Accounts, dc=example, dc=com
+schema-compat-search-filter: (objectClass=posixAccount)
+schema-compat-entry-rdn: uid=%{uid}
+schema-compat-entry-attribute: inetUserHttpURL=<a thing="%{inetUserHttpURL}"/>
+