def testRetrieveBatch(self): request = OaiListRequest(baseurl='http://example.org/oai', verb='ListRecords', metadataPrefix='oai_dc') opener = CallTrace('urlopen', returnValues={'urlopen': StringIO(RESPONSE)}) request._urlopen = opener.urlopen batch = request.retrieveBatch() self.assertEquals(3, len(batch.items)) self.assertEquals(['urlopen'], opener.calledMethodNames()) urlopenMethod = opener.calledMethods[0] self.assertEquals((('http://example.org/oai?verb=ListRecords&metadataPrefix=oai_dc',), {}), (urlopenMethod.args, urlopenMethod.kwargs))
def testNoRecordsMatch(self): request = OaiListRequest(baseurl='http://example.org/oai', verb='ListRecords', metadataPrefix='oai_dc') opener = CallTrace('urlopen', returnValues={'urlopen': StringIO(NO_RECORDS_MATCH_RESPONSE)}) request._urlopen = opener.urlopen batch = request.retrieveBatch() self.assertEquals(0, len(batch.items))
def testNextRequest(self): request = OaiListRequest(baseurl='http://example.org/oai', verb='ListRecords', metadataPrefix='oai', set='set') self.assertEquals('http://example.org/oai?verb=ListRecords&metadataPrefix=oai&set=set', request.buildUrl()) request = request._nextRequest('resume_here') self.assertEquals('http://example.org/oai?verb=ListRecords&resumptionToken=resume_here', request.buildUrl())