Commit d6b9b37d authored by Robin McCorkell's avatar Robin McCorkell Committed by Thomas Müller
Browse files

Use dummy storages instead of real storages in files_external unit tests

We were using the SMB and SFTP backends, which since Icewind's new SMB library
results in an actual attempted connection just by constructing the storage.
This commit replaces all references to real storages (except when necessary)
with a dummy storage class.
parent 7d3e2283
......@@ -3,6 +3,7 @@
* ownCloud
*
* @author Vincent Petry
* @author Robin McCorkell
* Copyright (c) 2013 Vincent Petry <pvince81@owncloud.com>
*
* This library is free software; you can redistribute it and/or
......@@ -20,18 +21,61 @@
*
*/
class Test_Mount_Config_Dummy_Storage {
class Test_Mount_Config_Dummy_Storage extends \OC\Files\Storage\Common {
public function __construct($params) {
if (isset($params['simulateFail']) && $params['simulateFail'] == true) {
throw new \Exception('Simulated config validation fail');
}
}
public function getId() {
return 'dummy_storage';
}
public function mkdir($path) {
return false;
}
public function rmdir($path) {
return false;
}
public function opendir($path) {
return false;
}
public function filetype($path) {
return false;
}
public function file_exists($path) {
return false;
}
public function unlink($path) {
return false;
}
public function fopen($path, $mode) {
return false;
}
public function touch($path, $mtime = null) {
return false;
}
public function stat($path) {
return false;
}
public function test() {
return true;
}
}
class Test_Mount_Config_Storage_No_Personal extends Test_Mount_Config_Dummy_Storage {
}
class Test_Mount_Config_Hook_Test {
static $signal;
static $params;
......@@ -94,6 +138,12 @@ class Test_Mount_Config extends \Test\TestCase {
'configuration' => array()
)
);
OC_Mount_Config::registerBackend('Test_Mount_Config_Storage_No_Personal', array(
'backend' => 'dummy no personal',
'priority' => 150,
'configuration' => array()
)
);
\OC_User::createUser(self::TEST_USER1, self::TEST_USER1);
\OC_User::createUser(self::TEST_USER2, self::TEST_USER2);
......@@ -120,11 +170,10 @@ class Test_Mount_Config extends \Test\TestCase {
'user_mounting_backends',
''
);
$this->allBackends = OC_Mount_Config::getBackends();
OCP\Config::setAppValue(
'files_external',
'user_mounting_backends',
implode(',', array_keys($this->allBackends))
'Test_Mount_Config_Dummy_Storage'
);
OC_Mount_Config::$skipTest = true;
......@@ -203,7 +252,7 @@ class Test_Mount_Config extends \Test\TestCase {
'password' => '12345',
);
$this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', $storageOptions, $mountType, $applicable, $isPersonal));
$this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', 'Test_Mount_Config_Dummy_Storage', $storageOptions, $mountType, $applicable, $isPersonal));
$config = $this->readGlobalConfig();
$this->assertEquals(1, count($config));
......@@ -211,7 +260,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(isset($config[$mountType][$applicable]));
$this->assertTrue(isset($config[$mountType][$applicable]['/$user/files/ext']));
$this->assertEquals(
'\OC\Files\Storage\SFTP',
'Test_Mount_Config_Dummy_Storage',
$config[$mountType][$applicable]['/$user/files/ext']['class']
);
}
......@@ -230,7 +279,7 @@ class Test_Mount_Config extends \Test\TestCase {
'password' => '12345',
);
$this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', $storageOptions, $mountType, $applicable, $isPersonal));
$this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', 'Test_Mount_Config_Dummy_Storage', $storageOptions, $mountType, $applicable, $isPersonal));
$config = $this->readUserConfig();
$this->assertEquals(1, count($config));
......@@ -238,7 +287,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(isset($config[$mountType][$applicable]));
$this->assertTrue(isset($config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']));
$this->assertEquals(
'\OC\Files\Storage\SFTP',
'Test_Mount_Config_Dummy_Storage',
$config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['class']
);
}
......@@ -252,14 +301,7 @@ class Test_Mount_Config extends \Test\TestCase {
$isPersonal = true;
// local
$this->assertFalse(OC_Mount_Config::addMountPoint('/ext', '\OC\Files\storage\local', array(), $mountType, $applicable, $isPersonal));
unset($this->allBackends['\OC\Files\Storage\SFTP']);
OCP\Config::setAppValue(
'files_external',
'user_mounting_backends',
implode(',', array_keys($this->allBackends))
);
$this->assertFalse(OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\Local', array(), $mountType, $applicable, $isPersonal));
$storageOptions = array(
'host' => 'localhost',
......@@ -268,7 +310,7 @@ class Test_Mount_Config extends \Test\TestCase {
);
// non-local but forbidden
$this->assertFalse(OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', $storageOptions, $mountType, $applicable, $isPersonal));
$this->assertFalse(OC_Mount_Config::addMountPoint('/ext', 'Test_Mount_Config_Storage_No_Personal', $storageOptions, $mountType, $applicable, $isPersonal));
$this->assertFalse(file_exists($this->userHome . '/mount.json'));
}
......@@ -343,7 +385,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options,
$mountType,
$applicable,
......@@ -354,7 +396,7 @@ class Test_Mount_Config extends \Test\TestCase {
// re-read config
$config = OC_Mount_Config::getSystemMountPoints();
$this->assertEquals(1, count($config));
$this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']);
$this->assertEquals('Test_Mount_Config_Dummy_Storage', $config[0]['class']);
$this->assertEquals('ext', $config[0]['mountpoint']);
$this->assertEquals($expectApplicableArray, $config[0]['applicable']);
$savedOptions = $config[0]['options'];
......@@ -383,7 +425,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options,
$mountType,
$applicable,
......@@ -394,7 +436,7 @@ class Test_Mount_Config extends \Test\TestCase {
// re-read config
$config = OC_Mount_Config::getPersonalMountPoints();
$this->assertEquals(1, count($config));
$this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']);
$this->assertEquals('Test_Mount_Config_Dummy_Storage', $config[0]['class']);
$this->assertEquals('ext', $config[0]['mountpoint']);
$savedOptions = $config[0]['options'];
$this->assertEquals($options, $savedOptions);
......@@ -420,7 +462,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
$mountPoint,
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig,
$mountType,
$applicable,
......@@ -453,7 +495,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
$mountPoint,
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig,
$mountType,
$applicable,
......@@ -518,7 +560,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig,
$mountType,
$applicable,
......@@ -559,7 +601,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig,
$mountType,
$applicable,
......@@ -668,7 +710,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig,
$mountType,
$applicable,
......@@ -683,7 +725,7 @@ class Test_Mount_Config extends \Test\TestCase {
if ($expectVisible) {
$this->assertEquals(1, count($mountPoints));
$this->assertTrue(isset($mountPoints['/' . self::TEST_USER1 . '/files/ext']));
$this->assertEquals('\OC\Files\Storage\SMB', $mountPoints['/' . self::TEST_USER1 . '/files/ext']['class']);
$this->assertEquals('Test_Mount_Config_Dummy_Storage', $mountPoints['/' . self::TEST_USER1 . '/files/ext']['class']);
$this->assertEquals($mountConfig, $mountPoints['/' . self::TEST_USER1 . '/files/ext']['options']);
}
else {
......@@ -711,7 +753,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options,
OC_Mount_Config::MOUNT_TYPE_USER,
self::TEST_USER1,
......@@ -722,7 +764,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options,
OC_Mount_Config::MOUNT_TYPE_USER,
self::TEST_USER2,
......@@ -733,7 +775,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options,
OC_Mount_Config::MOUNT_TYPE_GROUP,
self::TEST_GROUP2,
......@@ -744,7 +786,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options,
OC_Mount_Config::MOUNT_TYPE_GROUP,
self::TEST_GROUP1,
......@@ -755,7 +797,7 @@ class Test_Mount_Config extends \Test\TestCase {
// re-read config
$config = OC_Mount_Config::getSystemMountPoints();
$this->assertEquals(1, count($config));
$this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']);
$this->assertEquals('Test_Mount_Config_Dummy_Storage', $config[0]['class']);
$this->assertEquals('ext', $config[0]['mountpoint']);
$this->assertEquals($options, $config[0]['options']);
$this->assertEquals(array(self::TEST_USER1, self::TEST_USER2), $config[0]['applicable']['users']);
......@@ -782,7 +824,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options1,
$mountType,
self::TEST_USER1,
......@@ -800,7 +842,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$options2,
$mountType,
self::TEST_USER2,
......@@ -811,10 +853,10 @@ class Test_Mount_Config extends \Test\TestCase {
// re-read config
$config = OC_Mount_Config::getSystemMountPoints();
$this->assertEquals(2, count($config));
$this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']);
$this->assertEquals('Test_Mount_Config_Dummy_Storage', $config[0]['class']);
$this->assertEquals('ext', $config[0]['mountpoint']);
$this->assertEquals($options1, $config[0]['options']);
$this->assertEquals('\OC\Files\Storage\SMB', $config[1]['class']);
$this->assertEquals('Test_Mount_Config_Dummy_Storage', $config[1]['class']);
$this->assertEquals('ext', $config[1]['mountpoint']);
$this->assertEquals($options2, $config[1]['options']);
}
......@@ -913,7 +955,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig + array('id' => $i),
$mount['mountType'],
$mount['applicable'],
......@@ -935,7 +977,7 @@ class Test_Mount_Config extends \Test\TestCase {
*/
public function testPriorityPersistence() {
$class = '\OC\Files\Storage\SMB';
$class = 'Test_Mount_Config_Dummy_Storage';
$priority = 123;
$mountConfig = array(
'host' => 'somehost',
......@@ -996,7 +1038,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertTrue(
OC_Mount_Config::addMountPoint(
'/ext',
'\OC\Files\Storage\SMB',
'Test_Mount_Config_Dummy_Storage',
$mountConfig,
OC_Mount_Config::MOUNT_TYPE_USER,
self::TEST_USER1,
......@@ -1012,7 +1054,7 @@ class Test_Mount_Config extends \Test\TestCase {
$this->assertEquals(0, count($mountPointsMe));
$this->assertEquals(1, count($mountPointsOther));
$this->assertTrue(isset($mountPointsOther['/'.self::TEST_USER1.'/files/ext']));
$this->assertEquals('\OC\Files\Storage\SMB',
$this->assertEquals('Test_Mount_Config_Dummy_Storage',
$mountPointsOther['/'.self::TEST_USER1.'/files/ext']['class']);
$this->assertEquals($mountConfig,
$mountPointsOther['/'.self::TEST_USER1.'/files/ext']['options']);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment