def helper(queries, *args, **kwargs):
     query = Query.from_request("core.Product", *args, **kwargs)
     bound_query = BoundQuery.bind(query, orm_models)
     with django_assert_num_queries(queries):
         data = get_results(req, bound_query, orm_models, False)
         return {
             "cols": flatten_table(bound_query.col_fields, data["cols"]),
             "rows": flatten_table(bound_query.row_fields, data["rows"]),
             "body": [
                 flatten_table(bound_query.data_fields, row) for row in data["body"]
             ],
         }
Exemple #2
0
    def helper(fields, query=None):
        query = query or {}

        admin.site.register(JsonModel, JsonAdmin)
        try:
            orm_models = get_models(req)
            query = Query.from_request("json.JsonModel", fields, query)
            bound_query = BoundQuery.bind(query, orm_models)
            data = get_results(req, bound_query, orm_models, False)
        finally:
            admin.site.unregister(JsonModel)
        return data["rows"]
Exemple #3
0
    def helper(*fields, **filters):
        orm_models = get_models(admin_ddb_request)
        query = Query.from_request("array.ArrayModel", ",".join(fields),
                                   list(filters.items()))
        bound_query = BoundQuery.bind(query, orm_models)
        data = get_results(admin_ddb_request, bound_query, orm_models, False)

        for f in bound_query.filters:
            if f.err_message:
                print(  # pragma: no cover
                    "filter error:", f.path_str, f.lookup, f.value, "->",
                    f.err_message)

        return data["rows"]
Exemple #4
0
    def helper(fields, query=None):
        query = query or []

        orm_models = get_models(req)
        query = Query.from_request("array.ArrayModel", fields, query)
        bound_query = BoundQuery.bind(query, orm_models)
        data = get_results(req, bound_query, orm_models, False)

        for f in bound_query.filters:
            if f.err_message:
                print("filter error:", f.path_str, f.lookup, f.value, "->",
                      f.err_message)

        return data["rows"]
 def test_from_request_with_related_filter(self):
     q = Query.from_request("app.model", "", QueryDict("bob__jones__equals=fred"))
     assert q == Query(
         "app.model", [], [QueryFilter("bob__jones", "equals", "fred")]
     )
 def test_from_request_field_pivoted(self):
     q = Query.from_request("app.model", "&fn", QueryDict(""))
     assert q == Query("app.model", [QueryField("fn", True)], [])
 def test_from_request_field_bad_priority(self):
     q = Query.from_request("app.model", "fn+x", QueryDict(""))
     assert q == Query("app.model", [QueryField("fn")], [])
 def test_from_request_field_no_name(self):
     q = Query.from_request("app.model", "+2", QueryDict(""))
     assert q == Query("app.model", [QueryField("", False, ASC, 2)], [])
 def test_from_request_filter_no_name(self):
     q = Query.from_request("app.model", "", QueryDict("=123"))
     assert q == Query("app.model", [], [])
 def test_from_request_filter_bad_lookup(self):
     q = Query.from_request("app.model", "", QueryDict("joe__blah=123"))
     assert q == Query("app.model", [], [QueryFilter("joe", "blah", "123")])
 def test_from_request_filter_no_lookup(self):
     q = Query.from_request("app.model", "", QueryDict("joe=tom"))
     assert q == Query("app.model", [], [])
 def get_product_flat(*args, **kwargs):
     query = Query.from_request("core.Product", *args)
     bound_query = BoundQuery.bind(query, orm_models)
     data = get_results(req, bound_query, orm_models, False)
     return flatten_table(bound_query.fields, data["rows"])
 def test_from_request_with_low_limit(self, query):
     q = Query.from_request(
         "app.model", "fa+1,fd-0,fn", QueryDict("limit=0&bob__equals=fred")
     )
     query.limit = 1
     assert q == query
Exemple #14
0
 def test_from_request_with_low_limit(self, query):
     q = Query.from_request("app.model", "fa+1,fd-0,fn",
                            [("limit", "0"), ("bob__equals", "fred")])
     assert q.arguments["limit"] == 1
 def test_from_request_duplicate_field(self, query):
     q = Query.from_request(
         "app.model", "fa+1,fd-0,fn,&fa-2", QueryDict("bob__equals=fred")
     )
     assert q == query
 def test_from_request(self, query):
     q = Query.from_request(
         "app.model", "fa+1,fd-0,fn", QueryDict("bob__equals=fred")
     )
     assert q == query
Exemple #17
0
 def test_from_request_field_no_priority(self):
     q = Query.from_request("app.model", "fn+", [])
     assert q == Query("app.model", [QueryField("fn")], [])
Exemple #18
0
 def test_from_request_filter_no_name(self):
     q = Query.from_request("app.model", "", [("", "123")])
     assert q == Query("app.model", [], [], {"": "123"})
Exemple #19
0
 def test_from_request_filter_no_lookup(self):
     q = Query.from_request("app.model", "", [("joe", "tom")])
     assert q == Query("app.model", [], [], {"joe": "tom"})
 def helper(queries, *args, **kwargs):
     query = Query.from_request("core.Product", *args, **kwargs)
     bound_query = BoundQuery.bind(query, orm_models)
     with django_assert_num_queries(queries):
         data = get_results(req, bound_query, orm_models, False)
         return flatten_table(bound_query.fields, data["rows"])
 def test_from_request_with_missing(self):
     q = Query.from_request("app.model", ",,", QueryDict(""))
     assert q == Query("app.model", [], [])
 def test_from_request_filter_no_value(self):
     q = Query.from_request("app.model", "", QueryDict("joe__equals="))
     assert q == Query("app.model", [], [QueryFilter("joe", "equals", "")])
 def test_from_request_with_low_limit(self, query):
     q = Query.from_request("app.model", "fa+1,fd-0,fn",
                            [("limit", "0"), ("bob__equals", "fred")])
     query.limit = 1
     assert q == query