예제 #1
0
    def test_sort_is_parsed(self):
        request_args = MultiDict([
            ("sort_by", "foo:ascending")])

        args = parse_request_args(request_args)

        assert_that(args['sort_by'], is_(["foo", "ascending"]))
예제 #2
0
    def test_two_collects_are_parsed(self):
        request_args = MultiDict([("collect", "some_key"),
                                  ("collect", "some_other_key")])

        args = parse_request_args(request_args)

        assert_that(args['collect'], is_(["some_key", "some_other_key"]))
예제 #3
0
    def test_one_filter_by_is_parsed(self):
        request_args = MultiDict([
            ("filter_by", "foo:bar")])

        args = parse_request_args(request_args)

        assert_that(args['filter_by'], has_item(["foo", "bar"]))
예제 #4
0
    def test_end_at_is_parsed(self):
        request_args = MultiDict([("end_at", "2012-12-12T08:12:43+00:00")])

        args = parse_request_args(request_args)

        assert_that(args['end_at'],
                    is_(datetime(2012, 12, 12, 8, 12, 43, tzinfo=pytz.UTC)))
    def test_filter_by_prefix_escapes_regex_group_operators(self):
        request_args = MultiDict([("filter_by_prefix", "foo:(a)+")])

        args = parse_request_args(request_args)

        parsed_regex = re.compile('^\(a\)\+.*')

        assert_that(args['filter_by_prefix'], has_item(["foo", parsed_regex]))
예제 #6
0
    def test_one_filter_by_prefix_is_parsed(self):
        request_args = MultiDict([
            ("filter_by_prefix", "foo:/hello/world")])

        args = parse_request_args(request_args)

        assert_that(args['filter_by_prefix'],
                    has_item(["foo", '/hello/world']))
    def test_one_filter_by_prefix_is_parsed(self):
        request_args = MultiDict([("filter_by_prefix", "foo:/hello/world")])

        args = parse_request_args(request_args)

        parsed_regex = re.compile('^\\/hello\\/world.*')

        assert_that(args['filter_by_prefix'], has_item(["foo", parsed_regex]))
예제 #8
0
    def test_many_filter_by_are_parsed(self):
        request_args = MultiDict([("filter_by", "foo:bar"),
                                  ("filter_by", "bar:foo")])

        args = parse_request_args(request_args)

        assert_that(args['filter_by'], has_item(["foo", "bar"]))
        assert_that(args['filter_by'], has_item(["bar", "foo"]))
예제 #9
0
    def test_one_collect_is_parsed_with_custom_method(self):
        request_args = MultiDict([
            ("collect", "some_key:mean")
        ])

        args = parse_request_args(request_args)

        assert_that(args['collect'], is_([("some_key", "mean")]))
예제 #10
0
    def test_one_collect_is_parsed(self):
        request_args = MultiDict([
            ("collect", "some_key")
        ])

        args = parse_request_args(request_args)

        assert_that(args['collect'], is_(["some_key"]))
예제 #11
0
    def test_limit_is_parsed(self):
        request_args = MultiDict([
            ("limit", "123")
        ])

        args = parse_request_args(request_args)

        assert_that(args['limit'], is_(123))
예제 #12
0
    def test_end_at_is_parsed(self):
        request_args = MultiDict([
            ("end_at", "2012-12-12T08:12:43+00:00")])

        args = parse_request_args(request_args)

        assert_that(args['end_at'], is_(
            datetime(2012, 12, 12, 8, 12, 43, tzinfo=pytz.UTC)))
예제 #13
0
    def test_sort_will_use_first_argument_only(self):
        request_args = MultiDict([
            ("sort_by", "foo:descending"),
            ("sort_by", "foo:ascending"),
        ])

        args = parse_request_args(request_args)

        assert_that(args['sort_by'], is_(["foo", "descending"]))
예제 #14
0
    def test_two_collects_are_parsed_with_default_methods(self):
        request_args = MultiDict([("collect", "some_key"),
                                  ("collect", "some_other_key")])

        args = parse_request_args(request_args)

        assert_that(
            args['collect'],
            is_([("some_key", "default"), ("some_other_key", "default")]))
예제 #15
0
    def test_two_collects_are_parsed(self):
        request_args = MultiDict([
            ("collect", "some_key"),
            ("collect", "some_other_key")
        ])

        args = parse_request_args(request_args)

        assert_that(args['collect'], is_(["some_key", "some_other_key"]))
예제 #16
0
    def test_two_collects_are_parsed_with_default_methods(self):
        request_args = MultiDict([
            ("collect", "some_key"),
            ("collect", "some_other_key")
        ])

        args = parse_request_args(request_args)

        assert_that(args['collect'], is_([("some_key", "default"),
                                          ("some_other_key", "default")]))
예제 #17
0
    def test_one_filter_by_prefix_is_parsed(self):
        request_args = MultiDict([
            ("filter_by_prefix", "foo:/hello/world")])

        args = parse_request_args(request_args)

        parsed_regex = re.compile('^\\/hello\\/world.*')

        assert_that(args['filter_by_prefix'],
                    has_item(["foo", parsed_regex]))
예제 #18
0
    def test_filter_by_prefix_escapes_regex_group_operators(self):
        request_args = MultiDict([
            ("filter_by_prefix", "foo:(a)+")])

        args = parse_request_args(request_args)

        parsed_regex = re.compile('^\(a\)\+.*')

        assert_that(args['filter_by_prefix'],
                    has_item(["foo", parsed_regex]))
예제 #19
0
    def test_first_start_at_is_used(self):
        request_args = MultiDict([
            ("start_at", "2012-12-12T08:12:43+00:00"),
            ("start_at", "2012-12-13T08:12:43+00:00"),
        ])

        args = parse_request_args(request_args)

        assert_that(args['start_at'], is_(
            datetime(2012, 12, 12, 8, 12, 43, tzinfo=pytz.UTC)))
예제 #20
0
    def test_many_filter_by_are_parsed(self):
        request_args = MultiDict([
            ("filter_by_prefix", "foo:bar"),
            ("filter_by_prefix", "bar:foo")
        ])

        args = parse_request_args(request_args)

        assert_that(args['filter_by_prefix'], has_item(["foo", 'bar']))
        assert_that(args['filter_by_prefix'], has_item(["bar", 'foo']))
예제 #21
0
    def test_build_query_with_boolean_value(self):
        request_args = MultiDict([
            ("filter_by", "planet:true"),
            ("filter_by", "star:false"),
        ])

        args = parse_request_args(request_args)

        assert_that(args['filter_by'], has_item([ "planet", True ]))
        assert_that(args['filter_by'], has_item([ "star", False ]))
    def test_many_filter_by_are_parsed(self):
        request_args = MultiDict([("filter_by_prefix", "foo:bar"),
                                  ("filter_by_prefix", "bar:foo")])

        args = parse_request_args(request_args)

        parsed_regex1 = re.compile('^bar.*')
        parsed_regex2 = re.compile('^foo.*')

        assert_that(args['filter_by_prefix'], has_item(["foo", parsed_regex1]))
        assert_that(args['filter_by_prefix'], has_item(["bar", parsed_regex2]))
예제 #23
0
    def test_many_filter_by_are_parsed(self):
        request_args = MultiDict([
            ("filter_by_prefix", "foo:bar"),
            ("filter_by_prefix", "bar:foo")
        ])

        args = parse_request_args(request_args)

        parsed_regex1 = re.compile('^bar.*')
        parsed_regex2 = re.compile('^foo.*')

        assert_that(args['filter_by_prefix'], has_item(["foo", parsed_regex1]))
        assert_that(args['filter_by_prefix'], has_item(["bar", parsed_regex2]))
예제 #24
0
    def test_one_collect_is_parsed(self):
        request_args = MultiDict([("collect", "some_key")])

        args = parse_request_args(request_args)

        assert_that(args['collect'], is_(["some_key"]))
예제 #25
0
    def test_group_by_is_passed_through_untouched(self):
        request_args = MultiDict([("group_by", "foobar")])

        args = parse_request_args(request_args)

        assert_that(args['group_by'], is_(['foobar']))