Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Central membership and group table #29107

Closed
wants to merge 14 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/federatedfilesharing/tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public static function tearDownAfterClass() {
\OC_User::clearBackends();
\OC_User::useBackend('database');
\OC::$server->getGroupManager()->clearBackends();
\OC::$server->getGroupManager()->addBackend(new \OC_Group_Database());
\OC::$server->getGroupManager()->addBackend(new \OC\Group\Database(\OC::$server->getDatabaseConnection()));

parent::tearDownAfterClass();
}
Expand Down
36 changes: 8 additions & 28 deletions apps/files/tests/Command/ScanTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
use OCA\Files\Command\Scan;
use Symfony\Component\Console\Tester\CommandTester;
use Test\TestCase;
use Test\Traits\GroupTrait;
use Test\Traits\UserTrait;
use OCP\IUserManager;
use OCP\IConfig;
Expand All @@ -43,6 +44,7 @@
*/
class ScanTest extends TestCase {
use UserTrait;
use GroupTrait;

/**
* @var IDBConnection
Expand Down Expand Up @@ -89,11 +91,6 @@ class ScanTest extends TestCase {
*/
private $commandTester;

/**
* @var string[]
*/
private $groupsCreated = [];

protected function setUp() {
if (getenv('RUN_OBJECTSTORE_TESTS')) {
$this->markTestSkipped('not testing scanner as it does not make sense for primary object store');
Expand Down Expand Up @@ -122,22 +119,14 @@ protected function setUp() {

$user1 = $this->createUser('user1');
$this->createUser('user2');
$this->groupManager->createGroup('group1');
$this->createGroup('group1');
$this->groupManager->get('group1')->addUser($user1);
$this->groupsCreated[] = 'group1';

$this->dataDir = \OC::$server->getConfig()->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data-autotest');

@mkdir($this->dataDir . '/' . $this->scanUser1->getUID() . '/files/toscan', 0777, true);
}

protected function tearDown() {
foreach ($this->groupsCreated as $group) {
$this->groupManager->get($group)->delete();
}
parent::tearDown();
}

public function dataInput() {
return [
[['--groups' => 'haystack'], 'Group name haystack doesn\'t exist'],
Expand Down Expand Up @@ -205,21 +194,12 @@ public function testMultipleGroups($input) {

$userCount = 1;
foreach ($groups as $group) {
if ($this->groupManager->groupExists($group) === false) {
$this->groupManager->createGroup($group);
$this->groupsCreated[] = $group;
for ($i = $userCount; $i <= ($userCount + 9); $i++) {
$j = $i - 1;
$this->groupManager->get($group)->addUser($userObj[$j]);
}
$userCount = $i;
} else {
for ($i = $userCount; $i <= ($userCount + 9); $i++) {
$j = $i - 1;
$this->groupManager->get($group)->addUser($userObj[$j]);
}
$userCount = $i;
$this->createGroup($group);
for ($i = $userCount; $i <= ($userCount + 9); $i++) {
$j = $i - 1;
$this->groupManager->get($group)->addUser($userObj[$j]);
}
$userCount = $i;
}

$this->commandTester->execute($input);
Expand Down
12 changes: 6 additions & 6 deletions apps/files_sharing/tests/SharedMountTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ public function testMoveSharedFile() {
* for the other users
*/
public function testMoveGroupShare () {
$g = \OC::$server->getGroupManager()->createGroup('testGroup');
$g = $this->createGroup('testGroup');
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER1));
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER2));
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER3));
Expand Down Expand Up @@ -207,7 +207,7 @@ public function testMoveGroupShare () {
//cleanup
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
$this->shareManager->deleteShare($share);
$g = \OC::$server->getGroupManager()->createGroup('testGroup');
$g = $this->createGroup('testGroup');
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER1));
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER2));
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER3));
Expand Down Expand Up @@ -284,7 +284,7 @@ function testPermissionMovedGroupShare($type, $beforePerm, $afterPerm) {
$path = $this->folder;
}

$g = \OC::$server->getGroupManager()->createGroup('testGroup');
$g = $this->createGroup('testGroup');
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER1));
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER2));
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER3));
Expand Down Expand Up @@ -329,7 +329,7 @@ function testPermissionMovedGroupShare($type, $beforePerm, $afterPerm) {
//cleanup
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
$this->shareManager->deleteShare($share);
$g = \OC::$server->getGroupManager()->createGroup('testGroup');
$g = $this->createGroup('testGroup');
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER1));
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER2));
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER3));
Expand All @@ -340,7 +340,7 @@ function testPermissionMovedGroupShare($type, $beforePerm, $afterPerm) {
* removed shares by a member of that group
*/
function testPermissionUpgradeOnUserDeletedGroupShare() {
$g = \OC::$server->getGroupManager()->createGroup('testGroup');
$g = $this->createGroup('testGroup');
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER1));
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER2));
$g->addUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER3));
Expand Down Expand Up @@ -387,7 +387,7 @@ function testPermissionUpgradeOnUserDeletedGroupShare() {

//cleanup
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
$g = \OC::$server->getGroupManager()->createGroup('testGroup');
$g = $this->createGroup('testGroup');
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER1));
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER2));
$g->removeUser(\OC::$server->getUserManager()->get(self::TEST_FILES_SHARING_API_USER3));
Expand Down
37 changes: 20 additions & 17 deletions apps/files_sharing/tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @author Roeland Jago Douma <rullzer@users.noreply.github.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Vincent Petry <pvince81@owncloud.com>
* @author Piotr Mrowczynski <piotr@owncloud.com>
*
* @copyright Copyright (c) 2018, ownCloud GmbH
* @license AGPL-3.0
Expand All @@ -36,6 +37,7 @@
use OCA\Files_Sharing\AppInfo\Application;
use OCA\Files_Sharing\SharedStorage;
use OCP\ICache;
use Test\Traits\GroupTrait;
use Test\Traits\UserTrait;

/**
Expand All @@ -48,6 +50,7 @@
abstract class TestCase extends \Test\TestCase {

use UserTrait;
use GroupTrait;

const TEST_FILES_SHARING_API_USER1 = "test-share-user1";
const TEST_FILES_SHARING_API_USER2 = "test-share-user2";
Expand Down Expand Up @@ -88,26 +91,26 @@ protected function setUp() {
parent::setUp();

// create users
$this->createUser(self::TEST_FILES_SHARING_API_USER1, self::TEST_FILES_SHARING_API_USER1);
$this->createUser(self::TEST_FILES_SHARING_API_USER2, self::TEST_FILES_SHARING_API_USER2);
$this->createUser(self::TEST_FILES_SHARING_API_USER3, self::TEST_FILES_SHARING_API_USER3);
$this->createUser(self::TEST_FILES_SHARING_API_USER4, self::TEST_FILES_SHARING_API_USER4);
$user1 = $this->createUser(self::TEST_FILES_SHARING_API_USER1, self::TEST_FILES_SHARING_API_USER1);
$user2 = $this->createUser(self::TEST_FILES_SHARING_API_USER2, self::TEST_FILES_SHARING_API_USER2);
$user3 = $this->createUser(self::TEST_FILES_SHARING_API_USER3, self::TEST_FILES_SHARING_API_USER3);
$user4 = $this->createUser(self::TEST_FILES_SHARING_API_USER4, self::TEST_FILES_SHARING_API_USER4);

// create group
$groupBackend = new \Test\Util\Group\Dummy();
$groupBackend->createGroup(self::TEST_FILES_SHARING_API_GROUP1);
$groupBackend->createGroup('group');
$groupBackend->createGroup('group1');
$groupBackend->createGroup('group2');
$groupBackend->createGroup('group3');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER1, 'group');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER2, 'group');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER3, 'group');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER2, 'group1');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER3, 'group2');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER4, 'group3');
$groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER2, self::TEST_FILES_SHARING_API_GROUP1);
\OC::$server->getGroupManager()->addBackend($groupBackend);
$apiGroup1 = $this->createGroup(self::TEST_FILES_SHARING_API_GROUP1);
$group = $this->createGroup('group');
$group1 = $this->createGroup('group1');
$group2 = $this->createGroup('group2');
$group3 = $this->createGroup('group3');
$group->addUser($user1);
$group->addUser($user2);
$group->addUser($user3);
$group1->addUser($user2);
$group2->addUser($user3);
$group3->addUser($user4);
$apiGroup1->addUser($user2);

//login as user1
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
Expand Down Expand Up @@ -137,7 +140,7 @@ public static function tearDownAfterClass() {

// reset backend
\OC::$server->getGroupManager()->clearBackends();
\OC::$server->getGroupManager()->addBackend(new \OC\Group\Database());
\OC::$server->getGroupManager()->addBackend(new \OC\Group\Database(\OC::$server->getDatabaseConnection()));

parent::tearDownAfterClass();
}
Expand Down
14 changes: 8 additions & 6 deletions apps/files_trashbin/tests/StorageTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
use OC\Files\View;
use OCP\Files\Storage;
use Test\TestCase;
use Test\Traits\GroupTrait;
use Test\Traits\UserTrait;

/**
Expand All @@ -46,6 +47,7 @@
class StorageTest extends TestCase {

use UserTrait;
use GroupTrait;

/**
* @var string
Expand Down Expand Up @@ -205,7 +207,7 @@ public function testDeleteFolderAsRecipient() {
$originalFileId = $this->userView->getFileInfo('share/folder/test.txt')->getId();

$recipientUser = $this->getUniqueId('recipient_');
\OC::$server->getUserManager()->createUser($recipientUser, $recipientUser);
$this->createUser($recipientUser, $recipientUser);

$node = \OC::$server->getUserFolder($this->user)->get('share');
$share = \OC::$server->getShareManager()->newShare();
Expand Down Expand Up @@ -260,8 +262,8 @@ public function testDeleteFolderAsReadOnlyRecipient() {
$originalFileId = $this->userView->getFileInfo('share/folder/test.txt')->getId();

$recipientUser = $this->getUniqueId('recipient_');
$recipientUserObject = \OC::$server->getUserManager()->createUser($recipientUser, $recipientUser);
$roGroupObject = \OC::$server->getGroupManager()->createGroup('rogroup');
$recipientUserObject = $this->createUser($recipientUser, $recipientUser);
$roGroupObject = $this->createGroup('rogroup');
$roGroupObject->addUser($recipientUserObject);

$node = \OC::$server->getUserFolder($this->user)->get('share');
Expand Down Expand Up @@ -379,7 +381,7 @@ public function testDeleteVersionsOfFileAsRecipient() {
$this->assertCount(1, $results);

$recipientUser = $this->getUniqueId('recipient_');
\OC::$server->getUserManager()->createUser($recipientUser, $recipientUser);
$this->createUser($recipientUser, $recipientUser);

$node = \OC::$server->getUserFolder($this->user)->get('share');
$share = \OC::$server->getShareManager()->newShare();
Expand Down Expand Up @@ -433,7 +435,7 @@ public function testDeleteVersionsOfFolderAsRecipient() {
$this->assertCount(1, $results);

$recipientUser = $this->getUniqueId('recipient_');
\OC::$server->getUserManager()->createUser($recipientUser, $recipientUser);
$this->createUser($recipientUser, $recipientUser);

$node = \OC::$server->getUserFolder($this->user)->get('share');
$share = \OC::$server->getShareManager()->newShare();
Expand Down Expand Up @@ -590,7 +592,7 @@ public function testOwnerBackupWhenMovingFileOutOfShare() {
$this->assertCount(1, $results);

$recipientUser = $this->getUniqueId('recipient_');
$user2 = \OC::$server->getUserManager()->createUser($recipientUser, $recipientUser);
$user2 = $this->createUser($recipientUser, $recipientUser);

$node = \OC::$server->getUserFolder($this->user)->get('share');
$share = \OC::$server->getShareManager()->newShare();
Expand Down
8 changes: 3 additions & 5 deletions apps/provisioning_api/tests/AppsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,11 @@ protected function setUp() {
parent::setUp();

$this->appManager = \OC::$server->getAppManager();
$this->groupManager = \OC::$server->getGroupManager();
$this->userSession = \OC::$server->getUserSession();
$this->api = new Apps($this->appManager);
$user = $this->createUser($this->getUniqueID(), 'password');
$this->createGroup(self::TEST_PROVI_API_ADMIN_GROUP)->addUser($user);
$this->userSession->setUser($user);
}

public function testGetAppInfo() {
Expand All @@ -69,10 +71,6 @@ public function testGetAppInfoOnBadAppID() {
}

public function testGetApps() {
$user = $this->generateUsers();
$this->groupManager->get('admin')->addUser($user);
$this->userSession->setUser($user);

$result = $this->api->getApps([]);

$this->assertTrue($result->succeeded());
Expand Down
41 changes: 6 additions & 35 deletions apps/provisioning_api/tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* @author Morris Jobke <hey@morrisjobke.de>
* @author Roeland Jago Douma <rullzer@owncloud.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Piotr Mrowczynski <piotr@owncloud.com>
*
* @copyright Copyright (c) 2018, ownCloud GmbH
* @license AGPL-3.0
Expand All @@ -24,50 +25,20 @@

namespace OCA\Provisioning_API\Tests;

use OCP\IGroupManager;
use OCP\IUser;
use OCP\IUserManager;
use Test\Traits\GroupTrait;
use Test\Traits\UserTrait;

abstract class TestCase extends \Test\TestCase {
use UserTrait;
use GroupTrait;

/** @var IUser[] */
protected $users = [];

/** @var IUserManager */
protected $userManager;

/** @var IGroupManager */
protected $groupManager;
const TEST_PROVI_API_ADMIN_GROUP = "admin";

protected function setUp() {
parent::setUp();

$this->userManager = \OC::$server->getUserManager();
$this->groupManager = \OC::$server->getGroupManager();
$this->groupManager->createGroup('admin');
}

/**
* Generates a temp user
* @param int $num number of users to generate
* @return IUser[]|IUser
*/
protected function generateUsers($num = 1) {
$users = [];
for ($i = 0; $i < $num; $i++) {
$user = $this->userManager->createUser($this->getUniqueID(), 'password');
$this->users[] = $user;
$users[] = $user;
}
return count($users) == 1 ? reset($users) : $users;
}

protected function tearDown() {
foreach($this->users as $user) {
$user->delete();
}

$this->groupManager->get('admin')->delete();
parent::tearDown();
}
}
1 change: 1 addition & 0 deletions core/Command/Group/ListGroups.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
namespace OC\Core\Command\Group;

use OC\Core\Command\Base;
use OCP\IGroup;
use OCP\IGroupManager;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
Expand Down
Loading