From 68706de45bda77d61327c3288ec6b4210de51532 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 6 Jul 2015 23:07:33 +0200 Subject: [PATCH 1/4] refactor integration tests to make it easier to add new ones --- .../integration/abstractintegrationtest.php | 123 +++++++++++++++++ .../tests/integration/fakemanager.php | 33 +++++ ...IntegrationTestAccessGroupsMatchFilter.php | 126 +++++------------- apps/user_ldap/tests/integration/run-test.sh | 2 +- 4 files changed, 189 insertions(+), 95 deletions(-) create mode 100644 apps/user_ldap/tests/integration/abstractintegrationtest.php create mode 100644 apps/user_ldap/tests/integration/fakemanager.php diff --git a/apps/user_ldap/tests/integration/abstractintegrationtest.php b/apps/user_ldap/tests/integration/abstractintegrationtest.php new file mode 100644 index 00000000000..f24106fcbfb --- /dev/null +++ b/apps/user_ldap/tests/integration/abstractintegrationtest.php @@ -0,0 +1,123 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +namespace OCA\user_ldap\tests\integration; + +use OCA\user_ldap\lib\Access; +use OCA\user_ldap\lib\Connection; +use OCA\user_ldap\lib\LDAP; + +abstract class AbstractIntegrationTest { + /** @var LDAP */ + protected $ldap; + + /** @var Connection */ + protected $connection; + + /** @var Access */ + protected $access; + + /** @var string */ + protected $base; + + /** @var string[] */ + protected $server; + + public function __construct($host, $port, $bind, $pwd, $base) { + $this->base = $base; + $this->server = [ + 'host' => $host, + 'port' => $port, + 'dn' => $bind, + 'pwd' => $pwd + ]; + } + + /** + * prepares the LDAP environment and sets up a test configuration for + * the LDAP backend. + */ + public function init() { + $this->initLDAPWrapper(); + $this->initConnection(); + $this->initAccess(); + } + + /** + * initializes the test LDAP wrapper + */ + protected function initLDAPWrapper() { + $this->ldap = new LDAP(); + } + + /** + * sets up the LDAP configuration to be used for the test + */ + protected function initConnection() { + $this->connection = new Connection($this->ldap, '', null); + $this->connection->setConfiguration([ + 'ldapHost' => $this->server['host'], + 'ldapPort' => $this->server['port'], + 'ldapBase' => $this->base, + 'ldapAgentName' => $this->server['dn'], + 'ldapAgentPassword' => $this->server['pwd'], + 'ldapUserFilter' => 'objectclass=inetOrgPerson', + 'ldapUserDisplayName' => 'cn', + 'ldapGroupDisplayName' => 'cn', + 'ldapLoginFilter' => '(|(uid=%uid)(samaccountname=%uid))', + 'ldapCacheTTL' => 0, + 'ldapConfigurationActive' => 1, + ]); + } + + /** + * initializes the Access test instance + */ + protected function initAccess() { + $this->access = new Access($this->connection, $this->ldap, new FakeManager()); + } + + /** + * runs the test cases while outputting progress and result information + * + * If a test failed, the script is exited with return code 1. + */ + public function run() { + $methods = get_class_methods($this); + $atLeastOneCaseRan = false; + foreach($methods as $method) { + if(strpos($method, 'case') === 0) { + print("running $method " . PHP_EOL); + if(!$this->$method()) { + print(PHP_EOL . '>>> !!! Test ' . $method . ' FAILED !!! <<<' . PHP_EOL . PHP_EOL); + exit(1); + } + $atLeastOneCaseRan = true; + } + } + if($atLeastOneCaseRan) { + print('Tests succeeded' . PHP_EOL); + } else { + print('No Test was available.' . PHP_EOL); + exit(1); + } + } +} diff --git a/apps/user_ldap/tests/integration/fakemanager.php b/apps/user_ldap/tests/integration/fakemanager.php new file mode 100644 index 00000000000..afc9c552a98 --- /dev/null +++ b/apps/user_ldap/tests/integration/fakemanager.php @@ -0,0 +1,33 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * + */ + +namespace OCA\user_ldap\tests\integration; + +/** + * Class FakeManager + * + * this is a mock of \OCA\user_ldap\lib\user\Manager which is a dependency of + * Access, that pulls plenty more things in. Because it is not needed in the + * scope of these tests, we replace it with a mock. + */ +class FakeManager extends \OCA\user_ldap\lib\user\Manager { + public function __construct() {} +} diff --git a/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php b/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php index 92035d94b4b..4be9ec829b8 100644 --- a/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php +++ b/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php @@ -1,72 +1,42 @@ + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + * */ -use OCA\user_ldap\lib\LDAP; +namespace OCA\user_ldap\tests\integration\lib; + +use OCA\user_ldap\lib\Connection; +use OCA\user_ldap\tests\integration\AbstractIntegrationTest; require_once __DIR__ . '/../../../../../lib/base.php'; -class IntegrationTestAccessGroupsMatchFilter { - /** @var LDAP */ - protected $ldap; - - /** @var \OCA\user_ldap\lib\Connection */ - protected $connection; - - /** @var \OCA\user_ldap\lib\Access */ - protected $access; - - /** @var string */ - protected $base; - - /** @var string[] */ - protected $server; - - public function __construct($host, $port, $bind, $pwd, $base) { - $this->base = $base; - $this->server = [ - 'host' => $host, - 'port' => $port, - 'dn' => $bind, - 'pwd' => $pwd - ]; - } +class IntegrationTestAccessGroupsMatchFilter extends AbstractIntegrationTest { /** - * prepares the LDAP environement and sets up a test configuration for + * prepares the LDAP environment and sets up a test configuration for * the LDAP backend. */ public function init() { - require('setup-scripts/createExplicitUsers.php'); - require('setup-scripts/createExplicitGroups.php'); - require('setup-scripts/createExplicitGroupsDifferentOU.php'); - - $this->initLDAPWrapper(); - $this->initConnection(); - $this->initAccess(); - } - - /** - * runs the test cases while outputting progress and result information - * - * If a test failed, the script is exited with return code 1. - */ - public function run() { - $cases = ['case1', 'case2', 'case3']; - - foreach ($cases as $case) { - print("running $case " . PHP_EOL); - if (!$this->$case()) { - print(PHP_EOL . '>>> !!! Test ' . $case . ' FAILED !!! <<<' . PHP_EOL . PHP_EOL); - exit(1); - } - } - - print('Tests succeeded' . PHP_EOL); + require(__DIR__ . '/../setup-scripts/createExplicitUsers.php'); + require(__DIR__ . '/../setup-scripts/createExplicitGroups.php'); + require(__DIR__ . '/../setup-scripts/createExplicitGroupsDifferentOU.php'); + parent::init(); } /** @@ -75,7 +45,7 @@ class IntegrationTestAccessGroupsMatchFilter { * * @return bool */ - private function case1() { + protected function case1() { $this->connection->setConfiguration(['ldapGroupFilter' => 'cn=RedGroup']); $dns = ['cn=RedGroup,ou=Groups,' . $this->base]; @@ -89,7 +59,7 @@ class IntegrationTestAccessGroupsMatchFilter { * * @return bool */ - private function case2() { + protected function case2() { $this->connection->setConfiguration(['ldapGroupFilter' => '(|(cn=RedGroup)(cn=PurpleGroup))']); $dns = [ @@ -131,54 +101,22 @@ class IntegrationTestAccessGroupsMatchFilter { return $status; } - /** - * initializes the Access test instance - */ - private function initAccess() { - $this->access = new \OCA\user_ldap\lib\Access($this->connection, $this->ldap, new FakeManager()); - } - - /** - * initializes the test LDAP wrapper - */ - private function initLDAPWrapper() { - $this->ldap = new LDAP(); - } - /** * sets up the LDAP configuration to be used for the test */ - private function initConnection() { - $this->connection = new \OCA\user_ldap\lib\Connection($this->ldap, '', null); + protected function initConnection() { + parent::initConnection(); $this->connection->setConfiguration([ - 'ldapHost' => $this->server['host'], - 'ldapPort' => $this->server['port'], - 'ldapBase' => $this->base, 'ldapBaseGroups' => 'ou=Groups,' . $this->base, - 'ldapAgentName' => $this->server['dn'], - 'ldapAgentPassword' => $this->server['pwd'], 'ldapUserFilter' => 'objectclass=inetOrgPerson', 'ldapUserDisplayName' => 'displayName', 'ldapGroupDisplayName' => 'cn', 'ldapLoginFilter' => 'uid=%uid', - 'ldapCacheTTL' => 0, - 'ldapConfigurationActive' => 1, ]); } } -/** - * Class FakeManager - * - * this is a mock of \OCA\user_ldap\lib\user\Manager which is a dependency of - * Access, that pulls plenty more things in. Because it is not needed in the - * scope of these tests, we replace it with a mock. - */ -class FakeManager extends \OCA\user_ldap\lib\user\Manager { - public function __construct() {} -} - -require_once('setup-scripts/config.php'); +require_once(__DIR__ . '/../setup-scripts/config.php'); $test = new IntegrationTestAccessGroupsMatchFilter($host, $port, $adn, $apwd, $bdn); $test->init(); $test->run(); diff --git a/apps/user_ldap/tests/integration/run-test.sh b/apps/user_ldap/tests/integration/run-test.sh index e07e9b43408..7a29db25670 100755 --- a/apps/user_ldap/tests/integration/run-test.sh +++ b/apps/user_ldap/tests/integration/run-test.sh @@ -13,5 +13,5 @@ fi # sleep is necessary, otherwise the LDAP server cannot be connected to, yet. -setup-scripts/start.sh && sleep 2 && php -f "$TESTSCRIPT" +setup-scripts/start.sh && sleep 5 && php -f "$TESTSCRIPT" setup-scripts/stop.sh From 85b7bde7d443e473d6980c9b86ab75017a469c44 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 8 Jul 2015 02:16:01 +0200 Subject: [PATCH 2/4] add integration tests for avatar update --- .../integration/abstractintegrationtest.php | 16 ++- .../tests/integration/data/avatar-invalid.gif | Bin 0 -> 48702 bytes .../tests/integration/data/avatar-valid.jpg | Bin 0 -> 95495 bytes .../lib/user/IntegrationTestUserAvatar.php | 128 ++++++++++++++++++ .../setup-scripts/createExplicitUsers.php | 2 +- 5 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 apps/user_ldap/tests/integration/data/avatar-invalid.gif create mode 100644 apps/user_ldap/tests/integration/data/avatar-valid.jpg create mode 100644 apps/user_ldap/tests/integration/lib/user/IntegrationTestUserAvatar.php diff --git a/apps/user_ldap/tests/integration/abstractintegrationtest.php b/apps/user_ldap/tests/integration/abstractintegrationtest.php index f24106fcbfb..f0f5e2de0a4 100644 --- a/apps/user_ldap/tests/integration/abstractintegrationtest.php +++ b/apps/user_ldap/tests/integration/abstractintegrationtest.php @@ -24,6 +24,7 @@ namespace OCA\user_ldap\tests\integration; use OCA\user_ldap\lib\Access; use OCA\user_ldap\lib\Connection; use OCA\user_ldap\lib\LDAP; +use OCA\user_ldap\lib\user\Manager; abstract class AbstractIntegrationTest { /** @var LDAP */ @@ -35,6 +36,9 @@ abstract class AbstractIntegrationTest { /** @var Access */ protected $access; + /** @var Manager */ + protected $userManager; + /** @var string */ protected $base; @@ -58,7 +62,9 @@ abstract class AbstractIntegrationTest { public function init() { $this->initLDAPWrapper(); $this->initConnection(); + $this->initUserManager(); $this->initAccess(); + } /** @@ -88,11 +94,19 @@ abstract class AbstractIntegrationTest { ]); } + /** + * initializes an LDAP user manager instance + * @return Manager + */ + protected function initUserManager() { + $this->userManager = new FakeManager(); + } + /** * initializes the Access test instance */ protected function initAccess() { - $this->access = new Access($this->connection, $this->ldap, new FakeManager()); + $this->access = new Access($this->connection, $this->ldap, $this->userManager); } /** diff --git a/apps/user_ldap/tests/integration/data/avatar-invalid.gif b/apps/user_ldap/tests/integration/data/avatar-invalid.gif new file mode 100644 index 0000000000000000000000000000000000000000..000108834d8ef089a9f6a484e47c16eb4b5a8395 GIT binary patch literal 48702 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 literal 0 HcmV?d00001 diff --git a/apps/user_ldap/tests/integration/data/avatar-valid.jpg b/apps/user_ldap/tests/integration/data/avatar-valid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61b5ec2e73036dbeb4694571cc2de6a97f7a00cc GIT binary patch literal 95495 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

(0>k!^0dq7{3PUY`0+X@|zb-mkewh)aCVgz@1 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 Ol??iC+WZ6lTlo(epRm9H literal 0 HcmV?d00001 diff --git a/apps/user_ldap/tests/integration/lib/user/IntegrationTestUserAvatar.php b/apps/user_ldap/tests/integration/lib/user/IntegrationTestUserAvatar.php new file mode 100644 index 00000000000..a03d6b0c0c6 --- /dev/null +++ b/apps/user_ldap/tests/integration/lib/user/IntegrationTestUserAvatar.php @@ -0,0 +1,128 @@ +mapping = new UserMapping(\OC::$server->getDatabaseConnection()); + $this->mapping->clear(); + $this->access->setUserMapper($this->mapping); + $userBackend = new OCA\user_ldap\USER_LDAP($this->access, \OC::$server->getConfig()); + \OC_User::useBackend($userBackend); + } + + /** + * A method that does the common steps of test cases 1 and 2. The evaluation + * is not happening here. + * + * @param string $dn + * @param string $username + * @param string $image + */ + private function execFetchTest($dn, $username, $image) { + $this->setJpegPhotoAttribute($dn, $image); + + // assigns our self-picked oc username to the dn + $this->mapping->map($dn, $username, 'fakeUUID-' . $username); + + // initialize home folder and make sure that the user will update + // also remove an possibly existing avatar + \OC_Util::tearDownFS(); + \OC_Util::setupFS($username); + \OC::$server->getUserFolder($username); + \OC::$server->getConfig()->deleteUserValue($username, 'user_ldap', User::USER_PREFKEY_LASTREFRESH); + if(\OC::$server->getAvatarManager()->getAvatar($username)->exists()) { + \OC::$server->getAvatarManager()->getAvatar($username)->remove(); + } + + // finally attempt to get the avatar set + $user = $this->userManager->get($dn); + $user->updateAvatar(); + } + + /** + * tests whether an avatar can be retrieved from LDAP and stored correctly + * + * @return bool + */ + protected function case1() { + $image = file_get_contents(__DIR__ . '/../../data/avatar-valid.jpg'); + $dn = 'uid=alice,ou=Users,' . $this->base; + $username = 'alice1337'; + + $this->execFetchTest($dn, $username, $image); + + return \OC::$server->getAvatarManager()->getAvatar($username)->exists(); + } + + /** + * tests whether an image received from LDAP which is of an invalid file + * type is dealt with properly (i.e. not set and not dying). + * + * @return bool + */ + protected function case2() { + // gif by Pmspinner from https://commons.wikimedia.org/wiki/File:Avatar2469_3.gif + $image = file_get_contents(__DIR__ . '/../../data/avatar-invalid.gif'); + $dn = 'uid=boris,ou=Users,' . $this->base; + $username = 'boris7844'; + + $this->execFetchTest($dn, $username, $image); + + return !\OC::$server->getAvatarManager()->getAvatar($username)->exists(); + } + + /** + * This writes an image to the 'jpegPhoto' attribute on LDAP. + * + * @param string $dn + * @param string $image An image read via file_get_contents + * @throws \OC\ServerNotAvailableException + */ + private function setJpegPhotoAttribute($dn, $image) { + $changeSet = ['jpegphoto' => $image]; + ldap_mod_add($this->connection->getConnectionResource(), $dn, $changeSet); + } + + protected function initUserManager() { + $this->userManager = new \OCA\user_ldap\lib\user\Manager( + \OC::$server->getConfig(), + new \OCA\user_ldap\lib\FilesystemHelper(), + new \OCA\user_ldap\lib\LogWrapper(), + \OC::$server->getAvatarManager(), + new \OCP\Image(), + \OC::$server->getDatabaseConnection() + ); + } + + /** + * sets up the LDAP configuration to be used for the test + */ + protected function initConnection() { + parent::initConnection(); + $this->connection->setConfiguration([ + 'ldapUserFilter' => 'objectclass=inetOrgPerson', + 'ldapUserDisplayName' => 'displayName', + 'ldapGroupDisplayName' => 'cn', + 'ldapLoginFilter' => 'uid=%uid', + ]); + } +} + +require_once(__DIR__ . '/../../setup-scripts/config.php'); +$test = new IntegrationTestUserAvatar($host, $port, $adn, $apwd, $bdn); +$test->init(); +$test->run(); diff --git a/apps/user_ldap/tests/integration/setup-scripts/createExplicitUsers.php b/apps/user_ldap/tests/integration/setup-scripts/createExplicitUsers.php index ac21d48fd16..bb784d60f7b 100644 --- a/apps/user_ldap/tests/integration/setup-scripts/createExplicitUsers.php +++ b/apps/user_ldap/tests/integration/setup-scripts/createExplicitUsers.php @@ -30,7 +30,7 @@ if (true) { } } -$users = ['alice']; +$users = ['alice', 'boris']; foreach ($users as $uid) { $newDN = 'uid=' . $uid . ',' . $ouDN; From b37d62d9d32ed44b8086fd75f6dcb9a66fb0955d Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 8 Jul 2015 02:17:44 +0200 Subject: [PATCH 3/4] fix uncaught exception on not permitted file types when setting avatar, fixes #17232 --- apps/user_ldap/lib/user/user.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/user_ldap/lib/user/user.php b/apps/user_ldap/lib/user/user.php index 54ee7a9b543..ac5d8f5a374 100644 --- a/apps/user_ldap/lib/user/user.php +++ b/apps/user_ldap/lib/user/user.php @@ -342,7 +342,13 @@ class User { } $avatar = $this->avatarManager->getAvatar($this->uid); - $avatar->set($this->image); + try { + $avatar->set($this->image); + } catch (\Exception $e) { + \OC::$server->getLogger()->notice( + 'Could not set avatar for ' . $this->dn . ', because: ' . $e->getMessage(), + ['app' => 'user_ldap']); + } } } From 0967a547551d4cebecf046941d32a06de79b9f55 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 27 Jul 2015 17:34:45 +0200 Subject: [PATCH 4/4] fix test after rebasing --- .../integration/lib/IntegrationTestAccessGroupsMatchFilter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php b/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php index 4be9ec829b8..17d046187e8 100644 --- a/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php +++ b/apps/user_ldap/tests/integration/lib/IntegrationTestAccessGroupsMatchFilter.php @@ -83,7 +83,7 @@ class IntegrationTestAccessGroupsMatchFilter extends AbstractIntegrationTest { * * @return bool */ - private function case3() { + protected function case3() { $this->connection->setConfiguration(['ldapGroupFilter' => '(objectclass=groupOfNames)']); $dns = [