本文整理汇总了Python中seecr.test.CallTrace.methods['executeQuery']方法的典型用法代码示例。如果您正苦于以下问题:Python CallTrace.methods['executeQuery']方法的具体用法?Python CallTrace.methods['executeQuery']怎么用?Python CallTrace.methods['executeQuery']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类seecr.test.CallTrace
的用法示例。
在下文中一共展示了CallTrace.methods['executeQuery']方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testServiceExecuteQuery
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testServiceExecuteQuery(self):
observer = CallTrace('lucene')
def executeQuery(**kwargs):
raise StopIteration(LuceneResponse(total=2, hits=['aap','noot']))
yield
observer.methods['executeQuery'] = executeQuery
service = LuceneRemoteService(CallTrace('reactor'))
service.addObserver(observer)
body = dumps({
'message': 'executeQuery',
'kwargs':{
'cqlAbstractSyntaxTree': {'__CQL_QUERY__': 'query AND field=value'},
'start':0,
'stop': 10,
'facets': [{'fieldname': 'field', 'maxTerms':5}],
'filterQueries': [{'__CQL_QUERY__': 'query=fiets'}],
'joinQueries': {'core1': {'__CQL_QUERY__': 'query=test'}}
}
})
result = ''.join(compose(service.handleRequest(path='/__lucene_remote__', Method="POST", Body=body)))
header, body = result.split('\r\n'*2)
self.assertTrue('Content-Type: application/json' in header, header+body)
response = LuceneResponse.fromJson(body)
self.assertEquals(2, response.total)
self.assertEquals(['aap', 'noot'], response.hits)
self.assertEquals(['executeQuery'], observer.calledMethodNames())
m = observer.calledMethods[0]
self.assertEquals(parseString('query AND field=value'), m.kwargs['cqlAbstractSyntaxTree'])
self.assertEquals(0, m.kwargs['start'])
self.assertEquals(10, m.kwargs['stop'])
self.assertEquals([{'fieldname': 'field', 'maxTerms':5}], m.kwargs['facets'])
self.assertEquals([parseString('query=fiets')], m.kwargs['filterQueries'])
self.assertEquals({'core1': parseString('query=test')}, m.kwargs['joinQueries'])
示例2: testOneResult
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testOneResult(self):
observer = CallTrace(
returnValues={
'getRecord': '<item><title>Test Title</title><link>Test Identifier</link><description>Test Description</description></item>',
},
ignoredAttributes=['unknown', 'extraResponseData', 'echoedExtraRequestData'])
def executeQuery(**kwargs):
raise StopIteration(Response(total=1, hits=[Hit(1)]))
yield
observer.methods['executeQuery'] = executeQuery
rss = Rss(
title = 'Test title',
description = 'Test description',
link = 'http://www.example.org',
sortKeys = 'date,,1',
maximumRecords = '15',
)
rss.addObserver(observer)
result = asString(rss.handleRequest(RequestURI='/?query=aQuery'))
self.assertEqualsWS(RSS % """<item>
<title>Test Title</title>
<link>Test Identifier</link>
<description>Test Description</description>
</item>""", result)
示例3: testAllQueryHelpersForSRU
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testAllQueryHelpersForSRU(self):
index = CallTrace('index')
def executeQuery(**kwargs):
raise StopIteration(Response(total=3201, hits=[]))
yield
index.methods['executeQuery'] = executeQuery
index.ignoredAttributes.extend(['echoedExtraRequestData', 'extraResponseData', 'all_unknown'])
server = be((Observable(),
(self.queryLog,
(SruParser(),
(QueryLogHelperForSru(),
(SruHandler(extraRecordDataNewStyle=True),
(QueryLogHelperForExecuteCQL(),
(index,)
)
)
)
)
),
))
''.join(compose(server.all.handleRequest(
path='/path/sru',
Client=('11.22.33.44', 8080),
arguments={
'operation': ['searchRetrieve'],
'version': ['1.2'],
'maximumRecords': ['0'],
'query': ['field=value'],
},
)))
self.assertEquals('2009-11-02T11:25:37Z 11.22.33.44 0.7K 1.000s 3201hits /path/sru maximumRecords=0&operation=searchRetrieve&query=field%3Dvalue&recordPacking=xml&recordSchema=dc&startRecord=1&version=1.2\n', open(join(self.tempdir, '2009-11-02-query.log')).read())
示例4: testCollectLog
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testCollectLog(self):
handler = SruHandler(enableCollectLog=True)
observer = CallTrace('observer', emptyGeneratorMethods=['echoedExtraRequestData', 'extraResponseData'])
__callstack_var_logCollector__ = dict()
times = [1, 2.5, 3.5]
def timeNow():
return times.pop(0)
handler._timeNow = timeNow
def executeQuery(**kwargs):
response = Response(total=0, hits=[])
response.queryTime=5
raise StopIteration(response)
yield
observer.methods['executeQuery'] = executeQuery
handler.addObserver(observer)
arguments = dict(startRecord=11, maximumRecords=15, query='query', recordPacking='string', recordSchema='schema')
consume(handler.searchRetrieve(sruArguments=arguments, **arguments))
self.assertEquals({
'sru': {
'handlingTime': [Decimal('2.500')],
'queryTime': [Decimal('1.500')],
'indexTime': [Decimal('0.005')],
'numberOfRecords': [0],
'arguments': [{
'startRecord': 11,
'query': 'query',
'recordPacking': 'string',
'maximumRecords': 15,
'recordSchema': 'schema',
}],
}
}, __callstack_var_logCollector__)
示例5: testCollectLogWhenIndexRaisesError
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testCollectLogWhenIndexRaisesError(self):
handler = SruHandler(enableCollectLog=True)
observer = CallTrace('observer', emptyGeneratorMethods=['echoedExtraRequestData', 'extraResponseData', 'additionalDiagnosticDetails'])
__callstack_var_logCollector__ = dict()
times = [1]
def timeNow():
return times.pop(0)
handler._timeNow = timeNow
def executeQuery(**kwargs):
raise Exception('Sorry')
yield
observer.methods['executeQuery'] = executeQuery
handler.addObserver(observer)
arguments = dict(startRecord=11, maximumRecords=15, query='query', recordPacking='string', recordSchema='schema')
consume(handler.searchRetrieve(sruArguments=arguments, **arguments))
self.assertEquals({
'sru': {
'arguments': [{
'startRecord': 11,
'query': 'query',
'recordPacking': 'string',
'maximumRecords': 15,
'recordSchema': 'schema',
}],
}
}, __callstack_var_logCollector__)
示例6: testValidXml
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testValidXml(self):
component = SruParser()
sruHandler = SruHandler()
component.addObserver(sruHandler)
observer = CallTrace('observer')
sruHandler.addObserver(observer)
response = Response(total=2, hits=[Hit('id0'), Hit('id1')])
def executeQuery(**kwargs):
raise StopIteration(response)
yield
def retrieveData(**kwargs):
raise StopIteration('<bike/>')
yield
observer.methods['executeQuery'] = executeQuery
observer.returnValues['echoedExtraRequestData'] = (f for f in [])
observer.returnValues['extraResponseData'] = (f for f in [])
observer.methods['extraRecordData'] = lambda hit: (f for f in [])
observer.methods['retrieveData'] = retrieveData
result = ''.join(compose(component.handleRequest(arguments={'version':['1.1'], 'query': ['aQuery'], 'operation':['searchRetrieve']})))
header, body = result.split('\r\n'*2)
assertValid(body, join(schemasPath, 'srw-types1.2.xsd'))
self.assertTrue('<bike/>' in body, body)
result = ''.join(compose(component.handleRequest(arguments={'version':['1.1'], 'operation':['searchRetrieve']})))
header, body = result.split('\r\n'*2)
assertValid(body, join(schemasPath, 'srw-types1.2.xsd'))
self.assertTrue('diagnostic' in body, body)
示例7: testNextRecordPosition
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testNextRecordPosition(self):
observer = CallTrace(emptyGeneratorMethods=['additionalDiagnosticDetails'])
response = Response(total=100, hits=hitsRange(11, 26))
def executeQuery(**kwargs):
raise StopIteration(response)
yield
def retrieveData(**kwargs):
raise StopIteration('record')
yield
observer.methods['executeQuery'] = executeQuery
observer.methods['retrieveData'] = retrieveData
observer.methods['extraResponseData'] = lambda *a, **kw: (x for x in 'extraResponseData')
observer.methods['echoedExtraRequestData'] = lambda *a, **kw: (x for x in 'echoedExtraRequestData')
observer.methods['extraRecordData'] = lambda hit: (f for f in [])
component = SruHandler()
component.addObserver(observer)
arguments = dict(startRecord=11, maximumRecords=15, query='query', recordPacking='string', recordSchema='schema')
result = "".join(compose(component.searchRetrieve(sruArguments=arguments, **arguments)))
self.assertTrue("<srw:nextRecordPosition>26</srw:nextRecordPosition>" in result, result)
executeCqlCallKwargs = observer.calledMethods[0].kwargs
self.assertEquals(10, executeCqlCallKwargs['start']) # SRU is 1 based
self.assertEquals(25, executeCqlCallKwargs['stop'])
示例8: testQueryTimeInExtraResponse
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testQueryTimeInExtraResponse(self):
handler = SruHandler(includeQueryTimes=True)
observer = CallTrace('observer', emptyGeneratorMethods=['echoedExtraRequestData', 'extraResponseData'])
times = [1, 2.5, 3.5]
def timeNow():
return times.pop(0)
handler._timeNow = timeNow
def executeQuery(**kwargs):
response = Response(total=0, hits=[])
response.queryTime=5
raise StopIteration(response)
yield
observer.methods['executeQuery'] = executeQuery
handler.addObserver(observer)
arguments = dict(startRecord=11, maximumRecords=15, query='query', recordPacking='string', recordSchema='schema')
result = "".join(compose(handler.searchRetrieve(sruArguments=arguments, **arguments)))
sruResponse = parse(StringIO(result))
extraResponseData = sruResponse.xpath('/srw:searchRetrieveResponse/srw:extraResponseData', namespaces={'srw':"http://www.loc.gov/zing/srw/"})[0]
self.assertEqualsWS("""<srw:extraResponseData %(xmlns_srw)s %(xmlns_diag)s %(xmlns_xcql)s %(xmlns_dc)s %(xmlns_meresco_srw)s>
<querytimes xmlns="http://meresco.org/namespace/timing">
<sruHandling>PT2.500S</sruHandling>
<sruQueryTime>PT1.500S</sruQueryTime>
<index>PT0.005S</index>
</querytimes>
</srw:extraResponseData>""" % namespaces, lxmltostring(extraResponseData))
queryTimes = lxmltostring(extraResponseData.xpath('//ti:querytimes', namespaces={'ti':"http://meresco.org/namespace/timing"})[0])
assertValid(queryTimes, join(schemasPath, 'timing-20120827.xsd'))
self.assertEquals(['executeQuery', 'echoedExtraRequestData', 'extraResponseData', 'handleQueryTimes'], observer.calledMethodNames())
self.assertEquals({'sru': Decimal("2.500"), 'queryTime': Decimal("1.500"), 'index': Decimal("0.005")}, observer.calledMethods[3].kwargs)
示例9: testWebQueryUsage
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testWebQueryUsage(self):
observer = CallTrace(
ignoredAttributes=['unknown', 'extraResponseData', 'echoedExtraRequestData'])
def executeQuery(**kwargs):
raise StopIteration(Response(total=0, hits=[]))
yield
observer.methods['executeQuery'] = executeQuery
rss = Rss(title = 'Title', description = 'Description', link = 'Link')
rss.addObserver(observer)
consume(rss.handleRequest(RequestURI='/?query=one+two'))
self.assertEquals(['executeQuery'], [m.name for m in observer.calledMethods])
self.assertEquals(None, observer.calledMethods[0].kwargs['sortKeys'])
self.assertEquals(0, observer.calledMethods[0].kwargs['start'])
self.assertEquals(10, observer.calledMethods[0].kwargs['stop'])
示例10: testDrilldown
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testDrilldown(self):
adapter = SruFieldDrilldown()
observer = CallTrace("Observer")
def executeQuery(**kwargs):
raise StopIteration(Response(total=16, hits=range(16)))
yield
observer.methods['executeQuery'] = executeQuery
adapter.addObserver(observer)
def dd():
result = yield adapter.drilldown('original', 'term', ['field0', 'field1'])
yield result
result = compose(dd()).next()
self.assertEquals(2, len(observer.calledMethods))
self.assertEquals(['executeQuery', 'executeQuery'], observer.calledMethodNames())
self.assertEquals(cqlToExpression("(original) and field0=term"), observer.calledMethods[0].kwargs['query'])
self.assertEquals([("field0", 16), ("field1", 16)], result)
示例11: testDiagnosticWarning
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testDiagnosticWarning(self):
sruArguments = {'version':'1.2', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2, }
queryArguments = {'version':'1.2', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2}
observer = CallTrace(emptyGeneratorMethods=['additionalDiagnosticDetails'])
response = Response(total=100, hits=[Hit('<aap&noot>'), Hit('vuur')])
def executeQuery(**kwargs):
raise StopIteration(response)
yield
observer.methods['executeQuery'] = executeQuery
retrieveDataCalls = []
def retrieveData(identifier, name):
retrieveDataCalls.append(1)
raise StopIteration("<MOCKED_WRITTEN_DATA>%s-%s</MOCKED_WRITTEN_DATA>" % (xmlEscape(identifier), name))
yield
observer.retrieveData = retrieveData
observer.methods['extraResponseData'] = lambda *a, **kw: (x for x in 'extraResponseData')
observer.methods['echoedExtraRequestData'] = lambda *a, **kw: (x for x in 'echoedExtraRequestData')
observer.methods['extraRecordData'] = lambda hit: (f for f in [])
component = SruHandler()
component.addObserver(observer)
result = "".join(compose(component.searchRetrieve(sruArguments=sruArguments, diagnostics=[(998, 'Diagnostic 998', 'The <tag> message'), (999, 'Diagnostic 999', 'Some message')], **queryArguments)))
response = parse(StringIO(result))
self.assertEquals([t % namespaces for t in [
'{%(srw)s}version',
'{%(srw)s}numberOfRecords',
'{%(srw)s}records',
'{%(srw)s}nextRecordPosition',
'{%(srw)s}echoedSearchRetrieveRequest',
'{%(srw)s}diagnostics',
'{%(srw)s}extraResponseData',
]], [t.tag for t in xpath(response, '//srw:searchRetrieveResponse/*')])
diagnostics = [{'uri': xpath(d, 'diag:uri/text()')[0],
'details': xpath(d, 'diag:details/text()')[0],
'message': xpath(d, 'diag:message/text()')[0]} for d in
xpath(response, '/srw:searchRetrieveResponse/srw:diagnostics/diag:diagnostic')]
self.assertEquals([
{'uri': 'info://srw/diagnostics/1/998', 'message': 'Diagnostic 998', 'details': 'The <tag> message'},
{'uri': 'info://srw/diagnostics/1/999', 'message': 'Diagnostic 999', 'details': 'Some message'},
], diagnostics)
示例12: testEmptyQueryWithAntiUnaryClauseIsPassedToWebQuery
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testEmptyQueryWithAntiUnaryClauseIsPassedToWebQuery(self):
observer = CallTrace(
ignoredAttributes=['unknown', 'extraResponseData', 'echoedExtraRequestData'])
def executeQuery(**kwargs):
raise StopIteration(Response(total=0, hits=[]))
yield
observer.methods['executeQuery'] = executeQuery
rss = Rss(title='Title', description='Description', link='Link', antiUnaryClause='antiunary')
rss.addObserver(observer)
consume(rss.handleRequest(RequestURI='/?query='))
self.assertEquals(['executeQuery'], [m.name for m in observer.calledMethods])
self.assertEquals(None, observer.calledMethods[0].kwargs['sortKeys'])
self.assertEquals(0, observer.calledMethods[0].kwargs['start'])
self.assertEquals(10, observer.calledMethods[0].kwargs['stop'])
self.assertEquals(cqlToExpression("antiunary"), observer.calledMethods[0].kwargs['query'])
示例13: testError
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testError(self):
observer = CallTrace(
ignoredAttributes=['unknown', 'extraResponseData', 'echoedExtraRequestData'])
def executeQuery(**kwargs):
raise StopIteration(Response(total=0, hits=[]))
yield
observer.methods['executeQuery'] = executeQuery
rss = Rss(
title = 'Test title',
description = 'Test description',
link = 'http://www.example.org',
)
rss.addObserver(observer)
result = asString(rss.handleRequest(RequestURI='/?query=aQuery%29')) #%29 == ')'
xml = parse(StringIO(result[result.index("<?xml"):]))
self.assertEquals(['Test title'], xml.xpath('/rss/channel/title/text()'))
self.assertEquals(['Test description'], xml.xpath('/rss/channel/description/text()'))
示例14: testExtraRecordDataOldStyle
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testExtraRecordDataOldStyle(self):
queryArguments = {'version':'1.2', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2}
sruArguments = {'version':'1.2', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2, 'x-recordSchema':['extra', 'evenmore']}
observer = CallTrace()
response = Response(total=100, hits=[Hit('11')])
def executeQuery(**kwargs):
raise StopIteration(response)
yield
observer.methods['executeQuery'] = executeQuery
retrieveDataCalls = []
def retrieveData(identifier, name):
retrieveDataCalls.append(1)
raise StopIteration("<MOCKED_WRITTEN_DATA>%s-%s</MOCKED_WRITTEN_DATA>" % (identifier, name))
yield
observer.retrieveData = retrieveData
observer.methods['extraResponseData'] = lambda *a, **kw: (x for x in 'extraResponseData')
observer.methods['echoedExtraRequestData'] = lambda *a, **kw: (x for x in 'echoedExtraRequestData')
observer.methods['extraRecordData'] = lambda hit: (f for f in [])
component = SruHandler(extraRecordDataNewStyle=False)
component.addObserver(observer)
result = "".join(compose(component.searchRetrieve(sruArguments=sruArguments, **queryArguments)))
strippedResult = result[result.index('<srw:record>'):result.index('</srw:records>')]
self.assertEqualsWS("""<srw:record>
<srw:recordSchema>schema</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordIdentifier>11</srw:recordIdentifier>
<srw:recordData>
<MOCKED_WRITTEN_DATA>11-schema</MOCKED_WRITTEN_DATA>
</srw:recordData>
<srw:extraRecordData>
<recordData recordSchema="extra">
<MOCKED_WRITTEN_DATA>11-extra</MOCKED_WRITTEN_DATA>
</recordData>
<recordData recordSchema="evenmore">
<MOCKED_WRITTEN_DATA>11-evenmore</MOCKED_WRITTEN_DATA>
</recordData>
</srw:extraRecordData>
</srw:record>""", strippedResult)
示例15: testGetDataWithAdapter
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import methods['executeQuery'] [as 别名]
def testGetDataWithAdapter(self):
observer = CallTrace(returnValues=dict(getData='<record/>'))
adapter = RetrieveToGetDataAdapter()
handler = SruHandler()
handler.addObserver(adapter)
adapter.addObserver(observer)
response = Response(total=100, hits=hitsRange(1, 3))
def executeQuery(**kwargs):
raise StopIteration(response)
yield
observer.methods['executeQuery'] = executeQuery
observer.methods['extraResponseData'] = lambda *a, **kw: (x for x in 'extraResponseData')
observer.methods['echoedExtraRequestData'] = lambda *a, **kw: (x for x in 'echoedExtraRequestData')
observer.methods['extraRecordData'] = lambda hit: (f for f in [])
response = asString(handler.searchRetrieve(query="word", recordSchema='schema', recordPacking='string', maximumRecords=2, sruArguments={}))
self.assertEquals(['getData', 'getData'], observer.calledMethodNames()[1:4:2])
self.assertTrue('<srw:recordData><record/></srw:recordData>' in response, response)
self.assertEquals({'identifier': '1', 'name': 'schema'}, observer.calledMethods[1].kwargs)
self.assertEquals({'identifier': '2', 'name': 'schema'}, observer.calledMethods[3].kwargs)