def test_protocol_query(self): from mapfish.protocol import Protocol, create_attr_filter proto = Protocol(Session, MappedClass) request = FakeRequest({}) query = proto._query(request, execute=False) stmt = query.statement stmtm_str = stmt.compile(engine) assert "SELECT" in query_to_str(query) request = FakeRequest({"queryable": "id", "id__eq": "1"}) query = proto._query(request, execute=False) assert "WHERE" in query_to_str(query) request = FakeRequest({"queryable": "id", "id__eq": "1"}) filter = create_attr_filter(request, MappedClass) query = proto._query(FakeRequest({}), filter=filter, execute=False) assert "WHERE" in query_to_str(query) request = FakeRequest({"limit": "2"}) query = proto._query(request, execute=False) print query_to_str(query) assert "LIMIT" in query_to_str(query) request = FakeRequest({"maxfeatures": "2"}) query = proto._query(request, execute=False) assert "LIMIT" in query_to_str(query) request = FakeRequest({"limit": "2", "offset": "10"}) query = proto._query(request, execute=False) assert "OFFSET" in query_to_str(query) request = FakeRequest({"order_by": "text"}) query = proto._query(request, execute=False) assert "ORDER BY" in query_to_str(query) assert "ASC" in query_to_str(query) request = FakeRequest({"sort": "text"}) query = proto._query(request, execute=False) assert "ORDER BY" in query_to_str(query) assert "ASC" in query_to_str(query) request = FakeRequest({"order_by": "text", "dir": "DESC"}) query = proto._query(request, execute=False) assert "ORDER BY" in query_to_str(query) assert "DESC" in query_to_str(query)