def testIncrementalHarvestScheduleNoneOverruledWithSetIncrementalHarvestSchedule(self): oaiDownloadProcessor = OaiDownloadProcessor(path="/oai", metadataPrefix="oai_dc", workingDirectory=self.tempdir, xWait=False, err=StringIO(), incrementalHarvestSchedule=None) oaiDownloadProcessor._time = lambda: 10 consume(oaiDownloadProcessor.handle(parse(StringIO(LISTRECORDS_RESPONSE % '')))) self.assertEquals(None, oaiDownloadProcessor._resumptionToken) self.assertEquals('2002-06-01T19:20:30Z', oaiDownloadProcessor._from) self.assertEquals(None, oaiDownloadProcessor._earliestNextRequestTime) oaiDownloadProcessor.setIncrementalHarvestSchedule(schedule=Schedule(period=3)) self.assertEquals(None, oaiDownloadProcessor.buildRequest()) self.assertEquals(None, oaiDownloadProcessor._earliestNextRequestTime) oaiDownloadProcessor.scheduleNextRequest() self.assertNotEquals(None, oaiDownloadProcessor.buildRequest()) self.assertEquals(0, oaiDownloadProcessor._earliestNextRequestTime) consume(oaiDownloadProcessor.handle(parse(StringIO(LISTRECORDS_RESPONSE % '')))) self.assertEquals(13, oaiDownloadProcessor._earliestNextRequestTime)
def testScheduleNextRequest(self): oaiDownloadProcessor = OaiDownloadProcessor(path='/p', metadataPrefix='p', workingDirectory=self.tempdir) oaiDownloadProcessor._time = lambda: 17 consume(oaiDownloadProcessor.handle(parse(StringIO(LISTRECORDS_RESPONSE % '')))) self.assertTrue(oaiDownloadProcessor._earliestNextRequestTime > 17) oaiDownloadProcessor.scheduleNextRequest() self.assertEquals(0, oaiDownloadProcessor._earliestNextRequestTime) self.assertEquals(True, oaiDownloadProcessor._timeForNextRequest()) self.assertNotEqual(None, oaiDownloadProcessor.buildRequest()) oaiDownloadProcessor.scheduleNextRequest(Schedule(period=0)) self.assertEquals(17, oaiDownloadProcessor._earliestNextRequestTime) self.assertEquals(True, oaiDownloadProcessor._timeForNextRequest()) self.assertNotEqual(None, oaiDownloadProcessor.buildRequest()) oaiDownloadProcessor.scheduleNextRequest(Schedule(period=120)) self.assertEquals(137, oaiDownloadProcessor._earliestNextRequestTime) self.assertEquals(False, oaiDownloadProcessor._timeForNextRequest()) self.assertEquals(None, oaiDownloadProcessor.buildRequest())