Fixed ext storage unit test for groups

Now creating real users and groups for testing external storage mounts
This commit is contained in:
Vincent Petry 2014-03-19 17:55:34 +01:00
parent 8e0a5ed5df
commit 5b6c36347b
1 changed files with 46 additions and 30 deletions

View File

@ -40,9 +40,22 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
private $oldAllowedBackends; private $oldAllowedBackends;
private $allBackends; private $allBackends;
const TEST_USER1 = 'user1';
const TEST_USER2 = 'user2';
const TEST_GROUP1 = 'group1';
const TEST_GROUP2 = 'group2';
public function setUp() { public function setUp() {
\OC_User::setUserId('test'); \OC_User::createUser(self::TEST_USER1, self::TEST_USER1);
$this->userHome = \OC_User::getHome('test'); \OC_User::createUser(self::TEST_USER2, self::TEST_USER2);
\OC_Group::createGroup(self::TEST_GROUP1);
\OC_Group::addToGroup(self::TEST_USER1, self::TEST_GROUP1);
\OC_Group::createGroup(self::TEST_GROUP2);
\OC_Group::addToGroup(self::TEST_USER2, self::TEST_GROUP2);
\OC_User::setUserId(self::TEST_USER1);
$this->userHome = \OC_User::getHome(self::TEST_USER1);
mkdir($this->userHome); mkdir($this->userHome);
$this->dataDir = \OC_Config::getValue( $this->dataDir = \OC_Config::getValue(
@ -67,9 +80,12 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
public function tearDown() { public function tearDown() {
OC_Mount_Config::$skipTest = false; OC_Mount_Config::$skipTest = false;
\OC_User::deleteUser(self::TEST_USER2);
\OC_User::deleteUser(self::TEST_USER1);
\OC_Group::deleteGroup(self::TEST_GROUP1);
\OC_Group::deleteGroup(self::TEST_GROUP2);
@unlink($this->dataDir . '/mount.json'); @unlink($this->dataDir . '/mount.json');
@unlink($this->userHome . '/mount.json');
rmdir($this->userHome);
OCP\Config::setAppValue( OCP\Config::setAppValue(
'files_external', 'files_external',
@ -143,7 +159,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
*/ */
public function testAddMountPointSingleUser() { public function testAddMountPointSingleUser() {
$mountType = OC_Mount_Config::MOUNT_TYPE_USER; $mountType = OC_Mount_Config::MOUNT_TYPE_USER;
$applicable = 'test'; $applicable = self::TEST_USER1;
$isPersonal = true; $isPersonal = true;
$this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', array(), $mountType, $applicable, $isPersonal)); $this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', array(), $mountType, $applicable, $isPersonal));
@ -152,10 +168,10 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
$this->assertEquals(1, count($config)); $this->assertEquals(1, count($config));
$this->assertTrue(isset($config[$mountType])); $this->assertTrue(isset($config[$mountType]));
$this->assertTrue(isset($config[$mountType][$applicable])); $this->assertTrue(isset($config[$mountType][$applicable]));
$this->assertTrue(isset($config[$mountType][$applicable]['/test/files/ext'])); $this->assertTrue(isset($config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']));
$this->assertEquals( $this->assertEquals(
'\OC\Files\Storage\SFTP', '\OC\Files\Storage\SFTP',
$config[$mountType][$applicable]['/test/files/ext']['class'] $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['class']
); );
} }
@ -164,7 +180,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
*/ */
public function testAddDisallowedBackendMountPointSingleUser() { public function testAddDisallowedBackendMountPointSingleUser() {
$mountType = OC_Mount_Config::MOUNT_TYPE_USER; $mountType = OC_Mount_Config::MOUNT_TYPE_USER;
$applicable = 'test'; $applicable = self::TEST_USER1;
$isPersonal = true; $isPersonal = true;
// local // local
@ -189,7 +205,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
public function testAddMountPointUnexistClass() { public function testAddMountPointUnexistClass() {
$storageClass = 'Unexist_Storage'; $storageClass = 'Unexist_Storage';
$mountType = OC_Mount_Config::MOUNT_TYPE_USER; $mountType = OC_Mount_Config::MOUNT_TYPE_USER;
$applicable = 'test'; $applicable = self::TEST_USER1;
$isPersonal = false; $isPersonal = false;
$this->assertFalse(OC_Mount_Config::addMountPoint('/ext', $storageClass, array(), $mountType, $applicable, $isPersonal)); $this->assertFalse(OC_Mount_Config::addMountPoint('/ext', $storageClass, array(), $mountType, $applicable, $isPersonal));
@ -236,7 +252,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
*/ */
public function testReadWritePersonalConfig() { public function testReadWritePersonalConfig() {
$mountType = OC_Mount_Config::MOUNT_TYPE_USER; $mountType = OC_Mount_Config::MOUNT_TYPE_USER;
$applicable = 'test'; $applicable = self::TEST_USER1;
$isPersonal = true; $isPersonal = true;
$mountConfig = array( $mountConfig = array(
'host' => 'smbhost', 'host' => 'smbhost',
@ -272,7 +288,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
*/ */
public function testPasswordObfuscation() { public function testPasswordObfuscation() {
$mountType = OC_Mount_Config::MOUNT_TYPE_USER; $mountType = OC_Mount_Config::MOUNT_TYPE_USER;
$applicable = 'test'; $applicable = self::TEST_USER1;
$isPersonal = true; $isPersonal = true;
$mountConfig = array( $mountConfig = array(
'host' => 'smbhost', 'host' => 'smbhost',
@ -298,7 +314,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
// check that password inside the file is NOT in plain text // check that password inside the file is NOT in plain text
$config = $this->readUserConfig(); $config = $this->readUserConfig();
$savedConfig = $config[$mountType][$applicable]['/test/files/ext']['options']; $savedConfig = $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['options'];
// no more clear text password in file // no more clear text password in file
$this->assertFalse(isset($savedConfig['password'])); $this->assertFalse(isset($savedConfig['password']));
@ -312,7 +328,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
*/ */
public function testReadLegacyPassword() { public function testReadLegacyPassword() {
$mountType = OC_Mount_Config::MOUNT_TYPE_USER; $mountType = OC_Mount_Config::MOUNT_TYPE_USER;
$applicable = 'test'; $applicable = self::TEST_USER1;
$isPersonal = true; $isPersonal = true;
$mountConfig = array( $mountConfig = array(
'host' => 'smbhost', 'host' => 'smbhost',
@ -336,7 +352,7 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
$config = $this->readUserConfig(); $config = $this->readUserConfig();
// simulate non-encrypted password situation // simulate non-encrypted password situation
$config[$mountType][$applicable]['/test/files/ext']['options']['password'] = 'smbpasswd'; $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['options']['password'] = 'smbpasswd';
$this->writeUserConfig($config); $this->writeUserConfig($config);
@ -354,31 +370,31 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
false, false,
OC_Mount_Config::MOUNT_TYPE_USER, OC_Mount_Config::MOUNT_TYPE_USER,
'all', 'all',
'test', self::TEST_USER1,
true, true,
), ),
// system mount point for a specific user // system mount point for a specific user
array( array(
false, false,
OC_Mount_Config::MOUNT_TYPE_USER, OC_Mount_Config::MOUNT_TYPE_USER,
'test', self::TEST_USER1,
'test', self::TEST_USER1,
true, true,
), ),
// system mount point for a specific group // system mount point for a specific group
array( array(
false, false,
OC_Mount_Config::MOUNT_TYPE_GROUP, OC_Mount_Config::MOUNT_TYPE_GROUP,
'testgroup1', self::TEST_GROUP1,
'test', self::TEST_USER1,
true, true,
), ),
// user mount point // user mount point
array( array(
true, true,
OC_Mount_Config::MOUNT_TYPE_USER, OC_Mount_Config::MOUNT_TYPE_USER,
'test', self::TEST_USER1,
'test', self::TEST_USER1,
true, true,
), ),
@ -387,24 +403,24 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
array( array(
false, false,
OC_Mount_Config::MOUNT_TYPE_USER, OC_Mount_Config::MOUNT_TYPE_USER,
'anotheruser', self::TEST_USER2,
'test', self::TEST_USER1,
false, false,
), ),
// system mount point for a specific group // system mount point for a specific group
array( array(
false, false,
OC_Mount_Config::MOUNT_TYPE_GROUP, OC_Mount_Config::MOUNT_TYPE_GROUP,
'anothergroup', self::TEST_GROUP2,
'test', self::TEST_USER1,
false, false,
), ),
// user mount point // user mount point
array( array(
true, true,
OC_Mount_Config::MOUNT_TYPE_USER, OC_Mount_Config::MOUNT_TYPE_USER,
'test', self::TEST_USER1,
'anotheruser', self::TEST_USER2,
false, false,
), ),
); );
@ -447,9 +463,9 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
$mountPoints = OC_Mount_Config::getAbsoluteMountPoints($testUser); $mountPoints = OC_Mount_Config::getAbsoluteMountPoints($testUser);
if ($expectVisible) { if ($expectVisible) {
$this->assertEquals(1, count($mountPoints)); $this->assertEquals(1, count($mountPoints));
$this->assertTrue(isset($mountPoints['/test/files/ext'])); $this->assertTrue(isset($mountPoints['/' . self::TEST_USER1 . '/files/ext']));
$this->assertEquals('\OC\Files\Storage\SMB', $mountPoints['/test/files/ext']['class']); $this->assertEquals('\OC\Files\Storage\SMB', $mountPoints['/' . self::TEST_USER1 . '/files/ext']['class']);
$this->assertEquals($mountConfig, $mountPoints['/test/files/ext']['options']); $this->assertEquals($mountConfig, $mountPoints['/' . self::TEST_USER1 . '/files/ext']['options']);
} }
else { else {
$this->assertEquals(0, count($mountPoints)); $this->assertEquals(0, count($mountPoints));