def testLogWithoutDoubleIDs(self): f = open(self.stateDir+'/name.ids','w') f.writelines(['id:1\n','id:2\n','id:1\n']) f.close() logger = HarvesterLog(stateDir=self.stateDir, logDir=self.logDir, name= 'name') logger.startRepository() self.assertEquals(2,logger.totalIds()) logger.uploadIdentifier('id:3') self.assertEquals(3,logger.totalIds()) logger.uploadIdentifier('id:3') logger.uploadIdentifier('id:2') self.assertEquals(3,logger.totalIds())
def testMarkDeleted(self): f = open(self.stateDir+'/name.stats','w') f.write('Started: 2005-01-02 16:12:56, Harvested/Uploaded/Total: 199/200/1650, Done: 2005-04-22 11:48:30, ResumptionToken: resumption') f.close() logger = HarvesterLog(stateDir=self.stateDir, logDir=self.logDir, name='name') self.assertEquals('resumption', logger._state.token) logger.markDeleted() logger.close() logger = HarvesterLog(stateDir=self.stateDir, logDir=self.logDir, name='name') self.assertEquals(None, logger._state.token) self.assertEquals(None, logger._state.from_) self.assertEquals(0, logger.totalIds())
def testLogIgnoredIdentifierWarning(self): logger = HarvesterLog(stateDir=self.stateDir, logDir=self.logDir, name='name') logger.startRepository() logger.notifyHarvestedRecord('repoid:oai:bla/bla') logger.logInvalidData('repoid:oai:bla/bla', 'bla/bla') self.assertEquals('', open(self.logDir + '/name.events').read()) logger.logIgnoredIdentifierWarning('repoid:oai:bla/bla') self.assertTrue(open(self.logDir + '/name.events').read().endswith("\tWARNING\t[repoid:oai:bla/bla]\tIGNORED\n")) self.assertEquals(1, logger.totalInvalidIds()) logger.notifyHarvestedRecord('repoid:oai:bla/bla') self.assertEquals(0, logger.totalInvalidIds()) logger.uploadIdentifier('repoid:oai:bla/bla') self.assertEquals(1, logger.totalIds())