[Pkg-owncloud-commits] [owncloud] 14/86: integration tests

David Prévot taffit at moszumanska.debian.org
Tue Dec 22 16:51:52 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to annotated tag v8.1.5
in repository owncloud.

commit c603143ed7cfbe5a6c5a21f65c355d5008295389
Author: Arthur Schiwon <blizzz at owncloud.com>
Date:   Wed Nov 4 00:18:35 2015 +0100

    integration tests
---
 .../lib/integrationtestbackupserver.php            | 118 +++++++++++++++++++++
 1 file changed, 118 insertions(+)

diff --git a/apps/user_ldap/tests/integration/lib/integrationtestbackupserver.php b/apps/user_ldap/tests/integration/lib/integrationtestbackupserver.php
new file mode 100644
index 0000000..95cb4b8
--- /dev/null
+++ b/apps/user_ldap/tests/integration/lib/integrationtestbackupserver.php
@@ -0,0 +1,118 @@
+<?php
+/**
+ * @author Arthur Schiwon <blizzz at owncloud.com>
+ *
+ * @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 <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\user_ldap\tests\integration\lib;
+
+use OCA\user_ldap\lib\user\Manager as LDAPUserManager;
+use OCA\user_ldap\tests\integration\AbstractIntegrationTest;
+use OCA\User_LDAP\Mapping\UserMapping;
+use OCA\user_ldap\USER_LDAP;
+
+require_once __DIR__  . '/../../../../../lib/base.php';
+
+class IntegrationBackupServer extends AbstractIntegrationTest {
+	/** @var  UserMapping */
+	protected $mapping;
+
+	/** @var USER_LDAP */
+	protected $backend;
+
+	/**
+	 * sets up the LDAP configuration to be used for the test
+	 */
+	protected function initConnection() {
+		parent::initConnection();
+		$originalHost = $this->connection->ldapHost;
+		$originalPort = $this->connection->ldapPort;
+		$this->connection->setConfiguration([
+			'ldapHost' => 'qwertz.uiop',
+			'ldapPort' => '32123',
+			'ldap_backup_host' => $originalHost,
+			'ldap_backup_port' => $originalPort,
+		]);
+	}
+
+	/**
+	 * tests that a backup connection is being used when the main  LDAP server
+	 * is offline
+	 *
+	 * Beware: after starting docker, the LDAP host might not be ready yet, thus
+	 * causing a false positive. Retry in that case… or increase the sleep time
+	 * in run-test.sh
+	 *
+	 * @return bool
+	 */
+	protected function case1() {
+		try {
+			$this->connection->getConnectionResource();
+		} catch (\OC\ServerNotAvailableException $e) {
+			return false;
+		}
+		return true;
+	}
+
+	/**
+	 * ensures that an exception is thrown if LDAP main server and LDAP backup
+	 * server are not available
+	 *
+	 * @return bool
+	 */
+	protected function case2() {
+		// reset possible LDAP connection
+		$this->initConnection();
+		try {
+			$this->connection->setConfiguration([
+				'ldap_backup_host' => 'qwertz.uiop',
+				'ldap_backup_port' => '32123',
+			]);
+			$this->connection->getConnectionResource();
+		} catch (\OC\ServerNotAvailableException $e) {
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * ensures that an exception is thrown if main LDAP server is down and a
+	 * backup server is not given
+	 *
+	 * @return bool
+	 */
+	protected function case3() {
+		// reset possible LDAP connection
+		$this->initConnection();
+		try {
+			$this->connection->setConfiguration([
+				'ldap_backup_host' => '',
+				'ldap_backup_port' => '',
+			]);
+			$this->connection->getConnectionResource();
+		} catch (\OC\ServerNotAvailableException $e) {
+			return true;
+		}
+		return false;
+	}
+}
+
+require_once(__DIR__ . '/../setup-scripts/config.php');
+$test = new IntegrationBackupServer($host, $port, $adn, $apwd, $bdn);
+$test->init();
+$test->run();

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list