def route(self, r: Request): with r / None: return {"test": 1} with r / 'items': with r / Integer() as [item_index]: with r.get: return self._inventory[item_index] with r.put: item = r.entity(InventoryItem) self._inventory[item_index] = item return item with r.delete: item = self._inventory[item_index] del self._inventory[item_index] return item with r.end: with r.get: return self._inventory with r.post: item = r.entity(InventoryItem) self._inventory.append(item) return item
def handle_items(self, r: Request): with r / Integer as item_index: with r.get: return self._inventory[item_index] with r.put: item = r.entity(InventoryItem) self._inventory[item_index] = item return item with r.delete: item = self._inventory[item_index] del self._inventory[item_index] return item with r.end: with r.get: return self._inventory with r.post: item = r.entity(InventoryItem) self._inventory.append(item) return item
def test_entity_without_path(test_input, obj_type, expected): r = Request(Request.POST, Url(path='/path'), content=test_input, unmarshaller=JSONUnmarshaller().unmarshall) assert expected == r.entity(obj_type)
def route(self, r: Request): with r.post: item = r.entity(InventoryItem) self._inventory.append(item) return item