gid, [], Server::get(IEventDispatcher::class), Server::get(IUserManager::class), ); } #[\Override] public function getGID(): string { return $this->gid; } } /** * Allow creating users in a temporary backend */ trait GroupTrait { protected Dummy $groupBackend; protected function createGroup(string $name, array $users = []): IGroup { $this->groupBackend->createGroup($name); foreach ($users as $user) { $this->groupBackend->addToGroup($user, $name); } return new DummyGroup($name); } protected function addToGroup(string $user, string $group): void { $this->groupBackend->addToGroup($user, $group); } protected function setUpGroupTrait() { $this->groupBackend = new Dummy(); Server::get(IGroupManager::class)->addBackend($this->groupBackend); } protected function tearDownGroupTrait() { Server::get(IGroupManager::class)->removeBackend($this->groupBackend); } }