Beispiel #1
0
 def test_build_kwarg2(self):
     """
     Should handle negated kwargs gracefuly
     """
     key = "!id"
     fm = FilterMixin()
     self.assertEquals(("!id", True), fm.build_kwarg(key))
Beispiel #2
0
 def test_build_kwarg2(self):
     """
     Should handle negated kwargs gracefuly
     """
     key = "!id"
     fm = FilterMixin()
     self.assertEquals(("!id", True), fm.build_kwarg(key))
Beispiel #3
0
 def test_build_kwarg1(self):
     """
     Should handle not-negated kwargs gracefuly
     """
     key = "id"
     fm = FilterMixin()
     self.assertEquals(("id", False), fm.build_kwarg(key))
Beispiel #4
0
 def test_build_kwarg1(self):
     """
     Should handle not-negated kwargs gracefuly
     """
     key = "id"
     fm = FilterMixin()
     self.assertEquals(("id", False), fm.build_kwarg(key))
Beispiel #5
0
 def test_generate_possible_kwargs(self):
     """
     Should negate all possible kwargs and join with not negated
     """
     filters = mock.Mock()
     filters.keys.return_value = ["h", "w"]
     fm = FilterMixin()
     self.assertListEqual(["h", "w", "!h", "!w"], fm.generate_possible_kwargs(filters))
Beispiel #6
0
 def test_generate_possible_kwargs(self):
     """
     Should negate all possible kwargs and join with not negated
     """
     filters = mock.Mock()
     filters.keys.return_value = ["h", "w"]
     fm = FilterMixin()
     self.assertListEqual(["h", "w", "!h", "!w"],
                          fm.generate_possible_kwargs(filters))
Beispiel #7
0
 def test_build_kwargs2(self):
     """
     Should raise FilterValueError when transformation of query param fails
     """
     filters = mock.Mock()
     raising_callable = mock.Mock()
     raising_callable.side_effect = ValueError()
     filter_dict = {
         "id": ("id__exact", lambda val: "lambda_id"),
         "id_lt": ("id__lt", lambda val: "lambda_id_lt"),
         "text_startswith": ("text__startswith", raising_callable)
     }
     filters.items.return_value = filter_dict.items()
     filters.keys.return_value = filter_dict.keys()
     fm = FilterMixin()
     query_params = {"id_lt": 10, "!id_lt": 5, "!text_startswith": "What up?!"}
     with self.assertRaises(FilterValueError):
         fm.build_search_kwargs(filters, query_params)
Beispiel #8
0
 def test_build_kwargs(self):
     """
     Should build all kwargs based on values returned by filter.items()
     """
     filters = mock.Mock()
     filter_dict = {
         "id": ("id__exact", lambda val: "lambda_id"),
         "id_lt": ("id__lt", lambda val: "lambda_id_lt"),
         "text_startswith": ("text__startswith", lambda val: "lambda_text")
     }
     filters.items.return_value = filter_dict.items()
     filters.keys.return_value = filter_dict.keys()
     fm = FilterMixin()
     query_params = {"id_lt": 10, "!id_lt": 5, "!text_startswith": "What up?!"}
     expected = (
         ("id__lt", "lambda_id_lt", False),
         ("id__lt", "lambda_id_lt", True),
         ("text__startswith", "lambda_text", True)
     )
     actual = fm.build_search_kwargs(filters, query_params)
     self.assertSetEqual(set(expected), actual)
Beispiel #9
0
 def test_build_kwargs2(self):
     """
     Should raise FilterValueError when transformation of query param fails
     """
     filters = mock.Mock()
     raising_callable = mock.Mock()
     raising_callable.side_effect = ValueError()
     filter_dict = {
         "id": ("id__exact", lambda val: "lambda_id"),
         "id_lt": ("id__lt", lambda val: "lambda_id_lt"),
         "text_startswith": ("text__startswith", raising_callable)
     }
     filters.items.return_value = filter_dict.items()
     filters.keys.return_value = filter_dict.keys()
     fm = FilterMixin()
     query_params = {
         "id_lt": 10,
         "!id_lt": 5,
         "!text_startswith": "What up?!"
     }
     with self.assertRaises(FilterValueError):
         fm.build_search_kwargs(filters, query_params)
Beispiel #10
0
 def test_build_kwargs(self):
     """
     Should build all kwargs based on values returned by filter.items()
     """
     filters = mock.Mock()
     filter_dict = {
         "id": ("id__exact", lambda val: "lambda_id"),
         "id_lt": ("id__lt", lambda val: "lambda_id_lt"),
         "text_startswith": ("text__startswith", lambda val: "lambda_text")
     }
     filters.items.return_value = filter_dict.items()
     filters.keys.return_value = filter_dict.keys()
     fm = FilterMixin()
     query_params = {
         "id_lt": 10,
         "!id_lt": 5,
         "!text_startswith": "What up?!"
     }
     expected = (("id__lt", "lambda_id_lt", False),
                 ("id__lt", "lambda_id_lt", True), ("text__startswith",
                                                    "lambda_text", True))
     actual = fm.build_search_kwargs(filters, query_params)
     self.assertSetEqual(set(expected), actual)
Beispiel #11
0
 def test_filter_with_search_kwarg2(self):
     qs = mock.Mock()
     kwarg = ('id__lt', 10, True)
     fm = FilterMixin()
     fm.filter_with_search_kwarg(qs, kwarg)
     qs.exclude.assert_called_once_with(id__lt=10)
Beispiel #12
0
 def test_filter_with_search_kwarg2(self):
     qs = mock.Mock()
     kwarg = ('id__lt', 10, True)
     fm = FilterMixin()
     fm.filter_with_search_kwarg(qs, kwarg)
     qs.exclude.assert_called_once_with(id__lt=10)