diff options
Diffstat (limited to 'apps/user_ldap')
-rw-r--r-- | apps/user_ldap/tests/Integration/Lib/IntegrationTestPaging.php | 46 | ||||
-rw-r--r-- | apps/user_ldap/tests/Integration/setup-scripts/createExplicitUsers.php | 2 |
2 files changed, 35 insertions, 13 deletions
diff --git a/apps/user_ldap/tests/Integration/Lib/IntegrationTestPaging.php b/apps/user_ldap/tests/Integration/Lib/IntegrationTestPaging.php index f6d6175c93b..35d8524fd88 100644 --- a/apps/user_ldap/tests/Integration/Lib/IntegrationTestPaging.php +++ b/apps/user_ldap/tests/Integration/Lib/IntegrationTestPaging.php @@ -59,38 +59,60 @@ class IntegrationTestPaging extends AbstractIntegrationTest { /** * tests that paging works properly against a simple example (reading all - * of few users in smallest steps) + * of few users in small steps) * * @return bool */ protected function case1() { $filter = 'objectclass=inetorgperson'; $attributes = ['cn', 'dn']; - $users = []; $result = $this->access->searchUsers($filter, $attributes); - foreach($result as $user) { - $users[] = $user['cn']; - } - - if(count($users) === 4) { + if(count($result) === 7) { return true; } return false; } + /** + * fetch first three, afterwards all users + * + * @return bool + */ protected function case2() { $filter = 'objectclass=inetorgperson'; $attributes = ['cn', 'dn']; - $users = []; - $result = $this->access->searchUsers($filter, $attributes, null, $this->pagingSize); - foreach($result as $user) { - $users[] = $user['cn']; + $result = $this->access->searchUsers($filter, $attributes, 4); + // beware, under circumstances, the result set can be larger then + // the specified limit! In this case, if we specify a limit of 3, + // the result will be 4, because the highest possible paging size + // is 2 (as configured). + // But also with more than one search base, the limit can be outpaced. + if(count($result) !== 4) { + return false; + } + + $result = $this->access->searchUsers($filter, $attributes); + if(count($result) !== 7) { + return false; } - if(count($users) === 4 - $this->pagingSize) { + return true; + } + + /** + * reads all remaining users starting first page + * + * @return bool + */ + protected function case3() { + $filter = 'objectclass=inetorgperson'; + $attributes = ['cn', 'dn']; + + $result = $this->access->searchUsers($filter, $attributes, null, $this->pagingSize); + if(count($result) === (7 - $this->pagingSize)) { return true; } diff --git a/apps/user_ldap/tests/Integration/setup-scripts/createExplicitUsers.php b/apps/user_ldap/tests/Integration/setup-scripts/createExplicitUsers.php index c181c160093..b01c498f859 100644 --- a/apps/user_ldap/tests/Integration/setup-scripts/createExplicitUsers.php +++ b/apps/user_ldap/tests/Integration/setup-scripts/createExplicitUsers.php @@ -50,7 +50,7 @@ if (true) { } } -$users = ['alice', 'boris', 'cynthia', 'derek']; +$users = ['alice', 'boris', 'cynthia', 'derek', 'evelina', 'fatima', 'gregor']; foreach ($users as $uid) { $newDN = 'uid=' . $uid . ',' . $ouDN; |