def revoke(self, paths: Union[str, Iterable[str]], users: Union[str, Iterable[str], User, Iterable[User]]): if isinstance(paths, str): paths = [paths] if isinstance(users, str) or isinstance(users, User): users = [users] for i in range(len(users)): if not isinstance(users[i], User): assert isinstance(users[i], str) user = User.create_from_str(users[i]) users[i] = user no_access_controls = [AccessControl(users, AccessControl.Level.NONE) for users in users] self.add_or_replace(paths, no_access_controls)
def test_create_from_str(self): user = User.create_from_str("%s#%s" % (_NAME, _ZONE)) self.assertEqual(user, User(_NAME, _ZONE))