def setUp(self): self.group1 = salt("group1") self.group2 = salt("group2") self.parent_group = salt("parentGroup") self.grand_parent_group = salt("grandParentGroup") self.new_groups = ( Group(groupname=self.group1, memberUsers=[self.user_1]), Group(groupname=self.group2, memberUsers=[self.user_1]), Group(groupname=self.parent_group, memberGroups=[self.group1]), Group(groupname=self.grand_parent_group, memberGroups=[self.parent_group]), ) for group in self.new_groups: self.root_remote.groups.create(group) # Create test workspace workspace_name = salt("groupChangesTestWorkspace") self.workspace_group = self.root_remote.documents.create( Document( name=workspace_name, type="Workspace", properties={"dc:title": workspace_name}, ), parent_path=env.WS_DIR, ) self.workspace_path = self.workspace_group.path self.admin_remote = root_remote(base_folder=self.workspace_path) self.engine_1.start() self.wait_sync(wait_for_async=True)
def test_create_delete_subgroup(server): # Create 2 groups group = Group(groupname="ParentGroup", grouplabel="ParentGroup Test") group1 = server.groups.create(group) group = Group(groupname="SubGroup", grouplabel="SubGroup Test") group2 = server.groups.create(group) # Add group2 to subgroups of group1 group1.memberGroups = [group2.groupname] group1.save() group2.delete() group1.delete()
def setUp(self): super().setUp() remote = pytest.root_remote # Create test workspace workspaces_path = "/default-domain/workspaces" workspace_name = "groupChangesTestWorkspace" self.workspace_path = workspaces_path + "/" + workspace_name self.workspace = remote.documents.create( Document( name=workspace_name, type="Workspace", properties={"dc:title": "Group Changes Test Workspace"}, ), parent_path=workspaces_path, ) # Create test groups group_names = self.get_group_names() for group in ("group1", "group2", "parentGroup", "grandParentGroup"): if group in group_names: remote.groups.delete(group) for group in [ Group(groupname="group1", memberUsers=["driveuser_1"]), Group(groupname="group2", memberUsers=["driveuser_1"]), Group(groupname="parentGroup", memberGroups=["group1"]), Group(groupname="grandParentGroup", memberGroups=["parentGroup"]), ]: remote.groups.create(group) group_names = self.get_group_names() assert "group1" in group_names assert "group2" in group_names assert "parentGroup" in group_names assert "grandParentGroup" in group_names self.admin_remote = DocRemote( pytest.nuxeo_url, pytest.user, "nxdrive-test-administrator-device", pytest.version, password=pytest.password, base_folder=self.workspace_path, )
def get_group(server): group = Group( groupname='plops', grouplabel='Group Test', memberUsers=['Administrator'], memberGroups=['Administrators']) assert repr(group) return server.groups.create(group)
def get_group(server): group = Group( groupname="plops", grouplabel="Group Test", memberUsers=["Administrator"], memberGroups=["Administrators"], ) assert repr(group) return server.groups.create(group)
def _test_group_changes(self, folder_path, group_name, need_parent=False): """ Tests changes on the given group that has access to the given folder: - Remove the test user from the group. - Add the test user to the group. - Delete the group. - Create the group including the test user. """ log.info( "Test changes on %s for %s with need_parent=%r", group_name, folder_path, need_parent, ) remote = self.admin_remote local = self.local_root_client_1 log.info("Remove driveuser_1 from %s", group_name) group = remote.groups.get(group_name) group.memberUsers = [] group.save() log.info("Check that %s is deleted locally", folder_path) self.wait_sync(wait_for_async=True) assert not local.exists(folder_path) log.info("Add driveuser_1 to %s", group_name) group.memberUsers = [self.user_1] group.save() log.info("Check that %s is created locally", folder_path) self.wait_sync(wait_for_async=True) assert local.exists(folder_path) log.info("Delete %s", group_name) remote.groups.delete(group_name) log.info("Check that %s is deleted locally", folder_path) self.wait_sync(wait_for_async=True) assert not local.exists(folder_path) log.info("Create %s", group_name) remote.groups.create(Group(groupname=group_name, memberUsers=[self.user_1])) if need_parent: log.info( "%s should not be created locally since " "the newly created group has not been added yet " "as a subgroup of parentGroup", folder_path, ) self.wait_sync(wait_for_async=True) assert not local.exists(folder_path) log.debug("Add %s as a subgroup of parentGroup", group_name) group = remote.groups.get(self.parent_group) group.memberGroups = [group_name] group.save() log.info("Check that %s is created locally", folder_path) self.wait_sync(wait_for_async=True) assert local.exists(folder_path)