コード例 #1
0
 def testUpdateRequest(self):
     oaiDownloadProcessor = OaiDownloadProcessor(path="/oai", metadataPrefix="oai_dc", workingDirectory=self.tempdir, xWait=True)
     oaiDownloadProcessor.setPath('/otherOai')
     oaiDownloadProcessor.setMetadataPrefix('otherPrefix')
     oaiDownloadProcessor.setSet('aSet')
     oaiDownloadProcessor.setFrom('2014')
     self.assertEquals("""GET /otherOai?verb=ListRecords&from=2014&metadataPrefix=otherPrefix&set=aSet&x-wait=True HTTP/1.0\r\nX-Meresco-Oai-Client-Identifier: %s\r\nUser-Agent: Meresco-Oai-DownloadProcessor/5.x\r\n\r\n""" % oaiDownloadProcessor._identifier, oaiDownloadProcessor.buildRequest())
コード例 #2
0
    def testHarvesterState(self):
        observer = CallTrace(emptyGeneratorMethods=['add'])
        oaiDownloadProcessor = OaiDownloadProcessor(path="/oai", metadataPrefix="oai_dc", workingDirectory=self.tempdir, xWait=True, err=StringIO())
        oaiDownloadProcessor.addObserver(observer)
        state = oaiDownloadProcessor.getState()
        self.assertEquals(None, state.resumptionToken)
        self.assertEquals(None, state.from_)
        self.assertEquals(None, state.errorState)
        self.assertEquals(None, state.name)
        self.assertEquals("/oai", state.path)
        self.assertEquals("oai_dc", state.metadataPrefix)
        self.assertEquals(None, state.set)
        self.assertEquals(0, state.nextRequestTime)
        oaiDownloadProcessor.setSet('s')
        oaiDownloadProcessor.setPath('/p')
        oaiDownloadProcessor.setMetadataPrefix('pref')
        oaiDownloadProcessor.observable_setName('aName')
        consume(oaiDownloadProcessor.handle(parse(StringIO(LISTRECORDS_RESPONSE % RESUMPTION_TOKEN))))
        state = oaiDownloadProcessor.getState()
        self.assertEquals("x?y&z", state.resumptionToken)
        self.assertEquals('2002-06-01T19:20:30Z', state.from_)
        self.assertEquals(None, state.errorState)
        self.assertEquals('aName', state.name)
        self.assertEquals("/p", state.path)
        self.assertEquals("pref", state.metadataPrefix)
        self.assertEquals('s', state.set)
        self.assertEquals(0, state.nextRequestTime)

        # Change state of oaiDownloadProcessor -> changes stateView.
        oaiDownloadProcessor.setSet('x')
        self.assertEquals('x', state.set)

        oaiDownloadProcessor2 = OaiDownloadProcessor(path="/oai", metadataPrefix="oai_dc", workingDirectory=self.tempdir, xWait=True, err=StringIO())
        state2 = oaiDownloadProcessor2.getState()
        self.assertEquals(None, state2.name)
        self.assertEquals("oai_dc", state2.metadataPrefix)
        self.assertEquals("x?y&z", state2.resumptionToken)
        self.assertEquals('2002-06-01T19:20:30Z', state2.from_)
        self.assertEquals(None, state2.errorState)
        self.assertEquals(0, state.nextRequestTime)