本文整理汇总了Python中seecr.test.CallTrace.retrieveData方法的典型用法代码示例。如果您正苦于以下问题:Python CallTrace.retrieveData方法的具体用法?Python CallTrace.retrieveData怎么用?Python CallTrace.retrieveData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类seecr.test.CallTrace
的用法示例。
在下文中一共展示了CallTrace.retrieveData方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testDiagnosticWarning
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import retrieveData [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)
示例2: testExtraRecordDataOldStyle
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import retrieveData [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)
示例3: testSearchRetrieveVersion12
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import retrieveData [as 别名]
def testSearchRetrieveVersion12(self):
sruArguments = {'version':'1.2', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2, 'x-recordSchema':['extra', 'evenmore'], 'x-extra-key': 'extraValue'}
queryArguments = {'version':'1.2', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2}
observer = CallTrace()
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, **queryArguments)))
self.assertEquals(['executeQuery', 'extraRecordData', 'extraRecordData', 'echoedExtraRequestData', 'extraResponseData'], [m.name for m in observer.calledMethods])
executeQueryMethod, extraRecordData1, extraRecordData2, echoedExtraRequestDataMethod, extraResponseDataMethod = observer.calledMethods
self.assertEquals('executeQuery', executeQueryMethod.name)
methodKwargs = executeQueryMethod.kwargs
self.assertEquals(cqlToExpression('field=value'), methodKwargs['query'])
self.assertEquals(0, methodKwargs['start'])
self.assertEquals(2, methodKwargs['stop'])
self.assertEquals({'x-recordSchema': ['extra', 'evenmore'], 'x-extra-key': 'extraValue'}, methodKwargs['extraArguments'])
self.assertEquals('<aap&noot>', extraRecordData1.kwargs['hit'].id)
self.assertEquals('vuur', extraRecordData2.kwargs['hit'].id)
self.assertEquals(6, sum(retrieveDataCalls))
resultXml = parse(StringIO(result))
ids = resultXml.xpath('//srw:recordIdentifier/text()', namespaces={'srw':"http://www.loc.gov/zing/srw/"})
self.assertEquals(['<aap&noot>', 'vuur'], ids)
self.assertEqualsWS("""
<srw:searchRetrieveResponse %(xmlns_srw)s %(xmlns_diag)s %(xmlns_xcql)s %(xmlns_dc)s %(xmlns_meresco_srw)s>
<srw:version>1.2</srw:version>
<srw:numberOfRecords>100</srw:numberOfRecords>
<srw:records>
<srw:record>
<srw:recordSchema>schema</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordIdentifier><aap&noot></srw:recordIdentifier>
<srw:recordData>
<MOCKED_WRITTEN_DATA><aap&noot>-schema</MOCKED_WRITTEN_DATA>
</srw:recordData>
<srw:extraRecordData>
<srw:record>
<srw:recordSchema>extra</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA><aap&noot>-extra</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
<srw:record>
<srw:recordSchema>evenmore</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA><aap&noot>-evenmore</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
</srw:extraRecordData>
</srw:record>
<srw:record>
<srw:recordSchema>schema</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordIdentifier>vuur</srw:recordIdentifier>
<srw:recordData>
<MOCKED_WRITTEN_DATA>vuur-schema</MOCKED_WRITTEN_DATA>
</srw:recordData>
<srw:extraRecordData>
<srw:record>
<srw:recordSchema>extra</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>vuur-extra</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
<srw:record>
<srw:recordSchema>evenmore</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>vuur-evenmore</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
</srw:extraRecordData>
</srw:record>
</srw:records>
<srw:nextRecordPosition>3</srw:nextRecordPosition>
<srw:echoedSearchRetrieveRequest>
<srw:version>1.2</srw:version>
#.........这里部分代码省略.........
示例4: testSearchRetrieveVersion11
# 需要导入模块: from seecr.test import CallTrace [as 别名]
# 或者: from seecr.test.CallTrace import retrieveData [as 别名]
def testSearchRetrieveVersion11(self):
queryArguments = {'version':'1.1', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2}
sruArguments = {'version':'1.1', 'operation':'searchRetrieve', 'recordSchema':'schema', 'recordPacking':'xml', 'query':'field=value', 'startRecord':1, 'maximumRecords':2, 'x-recordSchema':['extra', 'evenmore']}
observer = CallTrace()
response = Response(total=100, hits=hitsRange(11, 13))
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, **queryArguments)))
self.assertEqualsWS("""
<srw:searchRetrieveResponse %(xmlns_srw)s %(xmlns_diag)s %(xmlns_xcql)s %(xmlns_dc)s %(xmlns_meresco_srw)s>
<srw:version>1.1</srw:version>
<srw:numberOfRecords>100</srw:numberOfRecords>
<srw:records>
<srw:record>
<srw:recordSchema>schema</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>11-schema</MOCKED_WRITTEN_DATA>
</srw:recordData>
<srw:extraRecordData>
<srw:record>
<srw:recordSchema>extra</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>11-extra</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
<srw:record>
<srw:recordSchema>evenmore</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>11-evenmore</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
</srw:extraRecordData>
</srw:record>
<srw:record>
<srw:recordSchema>schema</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>12-schema</MOCKED_WRITTEN_DATA>
</srw:recordData>
<srw:extraRecordData>
<srw:record>
<srw:recordSchema>extra</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>12-extra</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
<srw:record>
<srw:recordSchema>evenmore</srw:recordSchema>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordData>
<MOCKED_WRITTEN_DATA>12-evenmore</MOCKED_WRITTEN_DATA>
</srw:recordData>
</srw:record>
</srw:extraRecordData>
</srw:record>
</srw:records>
<srw:nextRecordPosition>3</srw:nextRecordPosition>
<srw:echoedSearchRetrieveRequest>
<srw:version>1.1</srw:version>
<srw:query>field=value</srw:query>
<srw:startRecord>1</srw:startRecord>
<srw:maximumRecords>2</srw:maximumRecords>
<srw:recordPacking>xml</srw:recordPacking>
<srw:recordSchema>schema</srw:recordSchema>
<srw:x-recordSchema>extra</srw:x-recordSchema>
<srw:x-recordSchema>evenmore</srw:x-recordSchema>
<srw:extraRequestData>echoedExtraRequestData</srw:extraRequestData>
</srw:echoedSearchRetrieveRequest>
<srw:extraResponseData>extraResponseData</srw:extraResponseData>
</srw:searchRetrieveResponse>
""" % namespaces, result)