def test_json_perms(): bag = Bag('permstest') store.put(bag) serializer = Serializer('json', environ={'tiddlyweb.usersign': { 'name':'bang', 'roles': []}}) tiddler = Tiddler('permstest', 'permstest') tiddler.text = 'permstest' store.put(tiddler) tiddler.store = store serializer.object = tiddler string = serializer.to_string() info = simplejson.loads(string) assert info['title'] == 'permstest' assert info['text'] == 'permstest' assert info['permissions'] == ['read', 'write', 'create', 'delete']
def test_json_perms(): store = get_store(config) bag = Bag("permstest") store.put(bag) serializer = Serializer( "json", environ={"tiddlyweb.usersign": {"name": "bang", "roles": []}, "tiddlyweb.config": config} ) tiddler = Tiddler("permstest", "permstest") tiddler.text = "permstest" store.put(tiddler) tiddler.store = store serializer.object = tiddler string = serializer.to_string() info = simplejson.loads(string) assert info["title"] == "permstest" assert info["text"] == "permstest" assert info["permissions"] == ["read", "write", "create", "delete"]
tiddler = Tiddler(title) tiddler.recipe = container bag = determine_bag_from_recipe(recipe, tiddler, environ) tiddler.bag = bag.name except StoreError, exc: tiddler = Tiddler(title, bag_name) tiddler.recipe = container else: tiddler = Tiddler(title, container) else: tiddler = Tiddler(title, bag_name) try: tiddler = store.get(tiddler) except StoreError: tiddler.store = store if _is_readable(environ, tiddler): tiddlers.add(tiddler) return send_tiddlers(environ, start_response, tiddlers=tiddlers) def _is_readable(environ, tiddler): """ Return true if recipe.policy read allows, and bag.policy read allows, or if neither bag or recipe is set. """ store = environ['tiddlyweb.store'] usersign = environ['tiddlyweb.usersign'] if tiddler.recipe:
def _bags_tiddler(stiddler): tiddler = Tiddler(stiddler.title) tiddler = self._load_tiddler(tiddler, stiddler) tiddler.store = store return tiddler