#NEWLINE# def test_nested_filter( self ) : #NEWLINE# #INDENT# json_output = { #NEWLINE# #INDENT# 'query' : { #NEWLINE# #INDENT# 'filtered' : { #NEWLINE# #INDENT# 'filter' : { #NEWLINE# #INDENT# 'and' : [ { #NEWLINE# #INDENT# 'nested' : { #NEWLINE# #INDENT# 'path' : 'actions' , #NEWLINE# 'filter' : { #NEWLINE# #INDENT# 'range' : { #NEWLINE# #INDENT# 'actions.date' : { #NEWLINE# #INDENT# 'gte' : '2015-01-01' , #NEWLINE# 'lt' : '2015-02-01' , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , { #NEWLINE# #INDENT# 'match_all' : { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } ] , #NEWLINE# #UNINDENT# } , #NEWLINE# 'query' : { #NEWLINE# #INDENT# 'match_all' : { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# #UNINDENT# } , #NEWLINE# 'size' : SIZE_LIMIT , #NEWLINE# #UNINDENT# } #NEWLINE# ( start , end ) = ( date ( 2015 , 1 , 1 ) , date ( 2015 , 2 , 1 ) ) #NEWLINE# query = HQESQuery ( 'cases' ) . nested ( 'actions' , filters . date_range ( 'actions.date' , gte = start , lt = query ) ) #NEWLINE# self . checkQuery ( query , json_output )