File tree Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change 3
3
def F (name_or_filter , filters = None , ** params ):
4
4
# 'and/or', [F(), F()]
5
5
if filters is not None :
6
+ # someone passed in positional argument to F outside of and/or
7
+ if name_or_filter not in ('and' , 'or' ):
8
+ raise ValueError ("Filter %r doesn't accept argument 'filters'." % name_or_filter )
6
9
params ['filters' ] = filters
7
10
8
11
# {"term": {...}}
Original file line number Diff line number Diff line change 1
1
from elasticsearch_dsl import filter
2
2
3
+ from pytest import raises
4
+
3
5
def test_and_can_be_created_with_a_list ():
4
6
f = filter .F ('and' , [filter .F ('term' , field = 'value' )])
5
7
6
8
assert isinstance (f , filter .And )
7
9
assert f .filters == [filter .F ('term' , field = 'value' )]
8
10
11
+ def test_other_filters_must_use_kwargs ():
12
+ with raises (ValueError ):
13
+ filter .F ('bool' , [filter .F ('term' , field = 'value' )])
14
+
9
15
def test_not_doesnt_have_to_wrap_filter ():
10
16
f = filter .F ('not' , term = {'field' : 'value' })
11
17
12
18
assert isinstance (f , filter .Not )
13
19
assert f .filter == filter .F ('term' , field = 'value' )
20
+
You can’t perform that action at this time.
0 commit comments