예제 #1
0
    def test_basic_fluent_api(self):
        qb = Builder(collection=None)

        qb.field('name').equals('foobar').field('fizz').ne(None)

        query_list = qb.get_query_list()

        assert query_list == {'name': 'foobar', 'fizz': {'$ne': None}}
예제 #2
0
    def test_basic_fluent_api(self):
        qb = Builder(collection=None)

        qb.field('name').equals('foobar').field('fizz').ne(None)

        query_list = qb.get_query_list()

        assert query_list == {'name': 'foobar', 'fizz': {'$ne': None}}
예제 #3
0
    def test_find_query(self):
        qb = Builder(collection=None)
        qb.field('name').is_not_in(['Matthew', 'Boris']) \
            .field('age').gte(21) \
            .field('attributes').is_type('object')

        query_list = qb.get_query_list()

        assert {'name': {'$nin': ['Matthew', 'Boris']},
                'age': {'$gte': 21},
                'attributes': {'$type': 3}} == query_list
예제 #4
0
    def test_count_query(self):
        qb = Builder(collection=None)

        qb.count() \
            .field('name').ne('awesome') \
            .field('age').lte(45)

        query_list = qb.get_query_list()

        assert {'name': {'$ne': 'awesome'}, 'age': {'$lte': 45}} == query_list

        assert qb.build().query['type'] == QueryTypes.TYPE_COUNT
예제 #5
0
    def test_count_query(self):
        qb = Builder(collection=None)

        qb.count() \
            .field('name').ne('awesome') \
            .field('age').lte(45)

        query_list = qb.get_query_list()

        assert {'name': {'$ne': 'awesome'},
                'age': {'$lte': 45}} == query_list

        assert qb.build().query['type'] == QueryTypes.TYPE_COUNT
    def test_basic_fluent_api(self):
        qb = Builder(collection=None)

        qb.field('name').equals('foobar').field('fizz').ne(None).field(
            'number').range(1, 20)

        query_list = qb.get_query_list()

        assert query_list == {
            'name': 'foobar',
            'fizz': {
                '$ne': None
            },
            'number': {
                '$gte': 1,
                '$lt': 20
            }
        }
예제 #7
0
    def test_find_query(self):
        qb = Builder(collection=None)
        qb.field('name').is_not_in(['Matthew', 'Boris']) \
            .field('age').gte(21) \
            .field('attributes').is_type('object')

        query_list = qb.get_query_list()

        assert {
            'name': {
                '$nin': ['Matthew', 'Boris']
            },
            'age': {
                '$gte': 21
            },
            'attributes': {
                '$type': 3
            }
        } == query_list