summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/tests
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-09-28 18:38:57 +0200
committerArthur Schiwon <blizzz@owncloud.com>2015-09-28 18:40:01 +0200
commit0dde79b75ba3baaf5bd18a839b112072f4bd8b0c (patch)
tree00e73d7668445c45c4d0f3bb471e2e9adf601d55 /apps/user_ldap/tests
parentd68079f93210f8fe0b5327e686497db97fde6a3e (diff)
downloadnextcloud-server-0dde79b75ba3baaf5bd18a839b112072f4bd8b0c.tar.gz
nextcloud-server-0dde79b75ba3baaf5bd18a839b112072f4bd8b0c.zip
memberOf resembles a DN as well and is actively used
Diffstat (limited to 'apps/user_ldap/tests')
-rw-r--r--apps/user_ldap/tests/access.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/apps/user_ldap/tests/access.php b/apps/user_ldap/tests/access.php
index 5bf1a65bd51..cb6dbf0cd5d 100644
--- a/apps/user_ldap/tests/access.php
+++ b/apps/user_ldap/tests/access.php
@@ -260,4 +260,38 @@ class Test_Access extends \Test\TestCase {
$access->batchApplyUserAttributes($data);
}
+
+ public function dNAttributeProvider() {
+ // corresponds to Access::resemblesDN()
+ return array(
+ 'dn' => array('dn'),
+ 'uniqueMember' => array('uniquemember'),
+ 'member' => array('member'),
+ 'memberOf' => array('memberof')
+ );
+ }
+
+ /**
+ * @dataProvider dNAttributeProvider
+ */
+ public function testSanitizeDN($attribute) {
+ list($lw, $con, $um) = $this->getConnectorAndLdapMock();
+
+
+ $dnFromServer = 'cn=Mixed Cases,ou=Are Sufficient To,ou=Test,dc=example,dc=org';
+
+ $lw->expects($this->any())
+ ->method('isResource')
+ ->will($this->returnValue(true));
+
+ $lw->expects($this->any())
+ ->method('getAttributes')
+ ->will($this->returnValue(array(
+ $attribute => array('count' => 1, $dnFromServer)
+ )));
+
+ $access = new Access($con, $lw, $um);
+ $values = $access->readAttribute('uid=whoever,dc=example,dc=org', $attribute);
+ $this->assertSame($values[0], strtolower($dnFromServer));
+ }
}