def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer1 = CallTrace(
         'observer1',
         emptyGeneratorMethods=['message'],
         returnValues={
             'function': 41,
             'gen': (i for i in [41]),
             'noop': None
         }
     )
     self.observer2 = object()
     self.observer3 = CallTrace(
         'observer3',
         emptyGeneratorMethods=['message'],
         returnValues={
             'function': 42,
             'gen': (i for i in [42]),
             'noop': None
         }
     )
     self.dna = be((Observable(),
         (FilterMessages(disallowed=['message', 'function', 'gen', 'noop']),
             (self.observer1,)
         ),
         (FilterMessages(allowed=['message', 'function', 'gen', 'noop']),
             (self.observer2,)
         ),
         (FilterMessages(allowed=['message', 'function', 'gen', 'noop']),
             (self.observer3,)
         )
     ))
예제 #2
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.srw = Srw()
        self.sruParser = SruParser()
        self.sruHandler = SruHandler()

        self.srw.addObserver(self.sruParser)
        self.sruParser.addObserver(self.sruHandler)
        self.response = StopIteration(Response(total=1, hits=[Hit('0')]))
        def executeQuery(**kwargs):
            raise self.response
            yield
        def retrieveData(**kwargs):
            raise StopIteration('data')
            yield
        self.observer = CallTrace(
            methods={
                'executeQuery': executeQuery,
                'retrieveData': retrieveData
            },
            emptyGeneratorMethods=[
                'extraResponseData',
                'echoedExtraRequestData',
                'additionalDiagnosticDetails',
                'extraRecordData'
            ])
        self.sruHandler.addObserver(self.observer)
예제 #3
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.jazz = jazz = OaiJazz(join(self.tempdir, 'jazz'))
        self.storage = MultiSequentialStorage(join(self.tempdir, 'sequential-store'))
        self.oaipmh = self.getOaiPmh()
        self.root = be((Observable(),
            (self.oaipmh,
                (jazz, ),
                (RetrieveToGetDataAdapter(),
                    (self.storage,)
                )
            )
        ))
        for i in xrange(20):
            identifier = recordId = 'record:id:%02d' % i
            metadataFormats = [('oai_dc', 'http://www.openarchives.org/OAI/2.0/oai_dc.xsd', 'http://www.openarchives.org/OAI/2.0/oai_dc/')]
            if i >= 10:
                metadataFormats.append(('prefix2', 'http://example.org/prefix2/?format=xsd&prefix=2','http://example.org/prefix2/'))
            sets = []
            if i >= 5:
                sets.append(('setSpec%s' % ((i//5)*5), ('' if ((i//5)*5) == 10 else 'setName')))  # empty string becomes 'set <setSpec>'.
            if 5 <= i < 10:
                sets.append(('hierarchical:set', 'hierarchical set'))
            if 10 <= i < 15:
                sets.append(('hierarchical', 'hierarchical toplevel only'))
            sleep(0.001) # avoid timestamps being equals on VMs
            jazz.addOaiRecord(recordId, sets=sets, metadataFormats=metadataFormats)
            if i % 5 == 0:
                list(compose(jazz.delete(recordId)))

            self.storage.addData(identifier=identifier, name='oai_dc', data='<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:identifier>%s</dc:identifier></oai_dc:dc>' % recordId)
            if i >= 10:
                self.storage.addData(identifier=identifier, name='prefix2', data='<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:subject>%s</dc:subject></oai_dc:dc>' % recordId)
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.stateDir = join(self.tempdir, "state")
     self.logDir = join(self.tempdir, "log")
     self.domainId = "adomain"
     makedirs(join(self.stateDir, self.domainId))
     repoId1LogDir = join(self.logDir, self.domainId, "invalid", "repoId1")
     repoId2LogDir = join(self.logDir, self.domainId, "invalid", escapeFilename("repoId/2"))
     makedirs(repoId1LogDir)
     makedirs(repoId2LogDir)
     open(join(repoId1LogDir, "invalidId1"), 'w').write("<diagnostic>ERROR1</diagnostic>")
     open(join(repoId1LogDir, "invalidId&2"), 'w').write("<diagnostic>ERROR2</diagnostic>")
     open(join(repoId2LogDir, escapeFilename("invalidId/3")), 'w').write("<diagnostic>ERROR3</diagnostic>")
     open(join(self.stateDir, self.domainId, "repoId1_invalid.ids"), 'w').write("invalidId1\ninvalidId&2")
     open(join(self.stateDir, self.domainId, escapeFilename("repoId/2_invalid.ids")), 'w').write("invalidId/3")
     open(join(self.stateDir, self.domainId, "repoId3_invalid.ids"), 'w').write("")
     self.status = RepositoryStatus(self.logDir, self.stateDir)
     observer = CallTrace("HarvesterData")
     observer.returnValues["getRepositoryGroupIds"] = ["repoGroupId1", "repoGroupId2"]
     def getRepositoryIds(domainId, repositoryGroupId):
         if repositoryGroupId == "repoGroupId1":
             return ["repoId1", "repoId/2"]
         return ["repoId3", "anotherRepoId"]
     observer.methods["getRepositoryIds"] = getRepositoryIds
     def getRepositoryGroupId(domainId, repositoryId):
         return 'repoGroupId1' if repositoryId in ['repoId1', 'repoId/2'] else 'repoGroupId2'
     observer.methods["getRepositoryGroupId"] = getRepositoryGroupId
     self.status.addObserver(observer)
예제 #5
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.oaiJazz = OaiJazz(self.tempdir)
     self.oaiList = OaiList(batchSize=2, repository=OaiRepository())
     self.observer = CallTrace('observer', emptyGeneratorMethods=['suspendBeforeSelect'])
     self.observer.methods['suspendAfterNoResult'] = lambda **kwargs: (s for s in ['SUSPEND'])
     self.observer.methods['oaiWatermark'] = lambda o=None: (x for x in ["Crafted By Seecr"])
     def oaiRecord(record, metadataPrefix, fetchedRecords=None):
         yield '<mock:record xmlns:mock="uri:mock">%s/%s</mock:record>' % (escapeXml(record.identifier), escapeXml(metadataPrefix))
     self.observer.methods['oaiRecord'] = oaiRecord
     self.observer.methods['oaiRecordHeader'] = oaiRecord
     self.observer.methods['getAllPrefixes'] = self.oaiJazz.getAllPrefixes
     self.observer.methods['oaiSelect'] = self.oaiJazz.oaiSelect
     self.getMultipleDataIdentifiers = []
     def getMultipleData(**kwargs):
         self.getMultipleDataIdentifiers.append(list(kwargs.get('identifiers')))
         raise NoneOfTheObserversRespond('No one', 0)
     self.observer.methods['getMultipleData'] = getMultipleData
     self.oaiList.addObserver(self.observer)
     self.clientId = str(uuid4())
     self.httpkwargs = {
         'path': '/path/to/oai',
         'Headers': {'Host':'server', 'X-Meresco-Oai-Client-Identifier': self.clientId},
         'port': 9000,
     }
예제 #6
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.httpkwargs = {
         'path': '/path/to/oai',
         'Headers':{'Host':'server'},
         'port':9000,
     }
예제 #7
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        ts = [(1 + i*0.1) for i in xrange(100)]
        def timeNow():
            return ts.pop(0)
        self._timeNow = timeNow
        class MockHit(object):
            def __init__(self, id):
                self.id = id
        self.total = 2
        self.hits = [1,2]
        self.drilldownData = None

        def executeQuery(*args, **kwargs):
            result = LuceneResponse(
                    total=self.total,
                    hits=[MockHit('id:%s' % i) for i in self.hits],
                    queryTime=30
                )
            if self.drilldownData:
                result.drilldownData = self.drilldownData
            raise StopIteration(result)
            yield

        def retrieveData(identifier, name):
            raise StopIteration({'identifier':identifier, 'name': name})
            yield

        self.observer = CallTrace(methods=dict(
            executeQuery=executeQuery,
            retrieveData=retrieveData))
        self._buildDna()
예제 #8
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace('observer')
     self.top = be((Observable(),
         (LogComponent('x'),
             (self.observer,),
          )
     ))
예제 #9
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.hd = HarvesterData(self.tempdir)
     self.hd.addDomain('domain')
     self.hd.addRepositoryGroup('group', domainId='domain')
     self.hd.addRepository('repository', repositoryGroupId='group', domainId='domain')
     self.hda = HarvesterDataActions()
     self.hda.addObserver(self.hd)
예제 #10
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace('observer')
     self.response = Response(total=0, hits=[])
     def executeQuery(**kwargs):
         raise StopIteration(self.response)
         yield
     self.observer.methods['executeQuery'] = executeQuery
예제 #11
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.handler = SessionHandler()
     self.cookiestore = CookieMemoryStore(name='session', timeout=10)
     self.handler.addObserver(self.cookiestore)
     self.handler._zulutime = lambda: ZuluTime('2015-01-27T13:34:45Z')
     self.observer = CallTrace('Observer')
     self.handler.addObserver(self.observer)
예제 #12
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.info = UserInfo(join(self.tempdir, 'users'))
     self.form = UserInfoForm(action='/action')
     self.form.addObserver(self.info)
     self.info.addUserInfo('normal', fullname='Full Username')
     self.adminUser = BasicHtmlLoginForm.User('admin')
     self.normalUser = BasicHtmlLoginForm.User('normal')
예제 #13
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self._timeNow = 1257161136.0 # 2009-11-02 11:30:00
     def time():
         self._timeNow += 1.0
         return self._timeNow
     directoryLog = DirectoryLog(self.tempdir)
     self.queryLog = QueryLog(log=directoryLog, loggedPaths=['/path/sru', '/path/srw'])
     self.queryLog._time = time
예제 #14
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.queryLogWriter = QueryLogWriter(DirectoryLog(self.tempdir))
     self.handleRequestLog = HandleRequestLog()
     self._timeNow = 1257161136.0 # 2009-11-02 11:30:00
     def time():
         self._timeNow += 1.0
         return self._timeNow
     self.handleRequestLog._time = time
예제 #15
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.stderr = StringIO()
     self.sruRecordUpdate = SruRecordUpdate(stderr=self.stderr, logErrors=True, enableCollectLog=True)
     @asyncnoreturnvalue
     def addOrDelete(*args, **kwargs):
         pass
     self.observer = CallTrace("Observer", methods={'add': addOrDelete, 'delete': addOrDelete})
     self.sruRecordUpdate.addObserver(self.observer)
예제 #16
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.mock_createUpload_exception = ''
     self._testpath = os.path.realpath(os.path.curdir)
     self.output = StringIO()
     self.mappingData = dict(identifier="mappingId", code=DEFAULT_DC_CODE)
     self.mapping = Mapping('mappingId')
     self.mapping.code = DEFAULT_DC_CODE
     self.harvest = OnlineHarvest(self.output)
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.matchesVersion = MatchesVersion(minVersion='1', untilVersion='3')
     self.observer = CallTrace('observer', methods=dict(somemessage=lambda: (x for x in ['result'])), emptyGeneratorMethods=['updateConfig'])
     self.top = be((Observable(),
         (self.matchesVersion,
             (self.observer,)
         )
     ))
예제 #18
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     def httpRequest(**kwargs):
         raise StopIteration(self.response)
         yield
     httpclient.httpget = httpRequest
     httpclient.httppost = httpRequest
     httpclient.httpsget = httpRequest
     httpclient.httpspost = httpRequest
예제 #19
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace('Observer', ignoredAttributes=['start'])
     self.observable = be(
         (Observable(),
             (XmlParseLxml(fromKwarg='data', toKwarg='lxmlNode'),
                 (self.observer, )
             )
         )
     )
예제 #20
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.reactor = Reactor()
     self.observer = CallTrace('Observer')
     self.inboxDirectory = join(self.tempdir, 'inbox')
     self.doneDirectory = join(self.tempdir, 'done')
     makedirs(self.inboxDirectory)
     makedirs(self.doneDirectory)
     self.inbox = Inbox(self.reactor, inboxDirectory=self.inboxDirectory, doneDirectory=self.doneDirectory)
     self.inbox.addObserver(self.observer)
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace()
     self.dna = be(
         (Observable(),
             (RdfTypeToField(),
                 (self.observer, )
             )
         )
     )
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace(emptyGeneratorMethods=['process', "delete"])
     self.dna = be(
         (Observable(),
             (Normalize(),
                 (self.observer,)
             )
         )
     )
    def setUp(self):
        SeecrTestCase.setUp(self)

        self.sruLimit = SruLimitStartRecord(limitBeyond=1000)

        def searchRetrieve(**kwargs):
            yield "<result/>"

        self.observer = CallTrace("Observer", methods={"searchRetrieve": searchRetrieve})
        self.dna = be((Observable(), (self.sruLimit, (self.observer,))))
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace(emptyGeneratorMethods=['add'])
     self.dna = be(
         (Observable(),
             (ReindexIdentifier(),
                 (self.observer, )
             )
         )
     )
 def setUp(self):
     SeecrTestCase.setUp(self)
     addDeleteToMultiSequential = AddDeleteToMultiSequential()
     self.multiSequentialStorage = MultiSequentialStorage(self.tempdir)
     self.top = be(
         (Observable(),
             (addDeleteToMultiSequential,
                 (self.multiSequentialStorage,)
             )
         )
     )
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.proxy = InternalServerProxy("http://localhost")
     self.requests = []
     def _urlopen(url, data=None):
         if data:
             self.requests.append((url, data))
         else:
             self.requests.append(url)
         return StringIO(JsonDict(self.response).dumps())
     self.proxy._urlopen = _urlopen
 def setUp(self):
     SeecrTestCase.setUp(self)
     storageComponentAdapter = StorageComponentAdapter()
     multiSequentialStorage = MultiSequentialStorage(self.tempdir)
     self.top = be(
         (Observable(),
             (storageComponentAdapter,
                 (multiSequentialStorage,)
             )
         )
     )
예제 #28
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        stream = StringIO("""
# test contextset file
query.field1\tactualfield1
field1 actualfield1
field2  actualfield2
field2    actualotherfield2

""")
        self.set = ContextSet('test', stream)
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer = CallTrace(emptyGeneratorMethods=['add', 'delete'])
     self.harvest = Harvest()
     self.dna = be(
         (Observable(),
             (self.harvest,
                 (self.observer, )
             )
         )
     )
예제 #30
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.observer = CallTrace()

        self.dna = be(
            (Observable(),
                (OaiSetMask(['set1', 'set2'], name="set1|set2 mask"),
                    (self.observer,)
                )
            )
        )
예제 #31
0
    def setUp(self):
        SeecrTestCase.setUp(self)

        self.data = []

        def responder(**kwargs):
            while self.data:
                yield self.data.pop(0)

        self.observer = CallTrace('Observer',
                                  methods={'someMessage': responder})

        self.dna = be((Observable(), (OaiError(repository=OaiRepository()),
                                      (self.observer, ))))
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.xsltFilename = join(self.tempdir, 'stylesheet.xsl')
     self.xmlFilename = join(self.tempdir, 'source.xml')
     fp = open(self.xsltFilename, 'w')
     try:
         fp.write(XSLT)
     finally:
         fp.close()
     fp = open(self.xmlFilename, 'w')
     try:
         fp.write(xmlCode)
     finally:
         fp.close()
    def setUp(self):
        SeecrTestCase.setUp(self)

        self.sruLimit = SruLimitStartRecord(limitBeyond=1000)
        def searchRetrieve(**kwargs):
            yield '<result/>'
        self.observer = CallTrace('Observer', methods={'searchRetrieve': searchRetrieve})
        self.dna = be(
            (Observable(),
                (self.sruLimit,
                    (self.observer,)
                )
            )
        )
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.domainId = "adomain"
        self.stateDir = mkdir(self.tempdir, "state")
        mkdir(self.stateDir, self.domainId)
        self.logDir = mkdir(self.tempdir, "log")
        repoId1LogDir = mkdir(self.logDir, self.domainId, "invalid", "repoId1")
        repoId2LogDir = mkdir(self.logDir, self.domainId, "invalid",
                              escapeFilename("repoId/2"))
        _writeFile(repoId1LogDir,
                   "invalidId1",
                   data="<diagnostic>ERROR1</diagnostic>")
        _writeFile(repoId1LogDir,
                   "invalidId&2",
                   data="<diagnostic>ERROR2</diagnostic>")
        _writeFile(repoId2LogDir,
                   escapeFilename("invalidId/3"),
                   data="<diagnostic>ERROR3</diagnostic>")
        _writeFile(self.stateDir,
                   self.domainId,
                   "repoId1_invalid.ids",
                   data="invalidId1\ninvalidId&2")
        _writeFile(self.stateDir,
                   self.domainId,
                   escapeFilename("repoId/2_invalid.ids"),
                   data="invalidId/3")
        _writeFile(self.stateDir,
                   self.domainId,
                   "repoId3_invalid.ids",
                   data="")
        self.status = RepositoryStatus(self.logDir, self.stateDir)
        observer = CallTrace("HarvesterData")
        observer.returnValues["getRepositoryGroupIds"] = [
            "repoGroupId1", "repoGroupId2"
        ]

        def getRepositoryIds(domainId, repositoryGroupId):
            if repositoryGroupId == "repoGroupId1":
                return ["repoId1", "repoId/2"]
            return ["repoId3", "anotherRepoId"]

        observer.methods["getRepositoryIds"] = getRepositoryIds

        def getRepositoryGroupId(domainId, repositoryId):
            return 'repoGroupId1' if repositoryId in ['repoId1', 'repoId/2'
                                                      ] else 'repoGroupId2'

        observer.methods["getRepositoryGroupId"] = getRepositoryGroupId
        self.status.addObserver(observer)
예제 #35
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.jazz = jazz = OaiJazz(join(self.tempdir, 'jazz'))
        self.storage = MultiSequentialStorage(join(self.tempdir, 'sequential-store'))
        self.oaipmh = self.getOaiPmh()
        self.root = be((Observable(),
            (self.oaipmh,
                (jazz, ),
                (RetrieveToGetDataAdapter(),
                    (self.storage,)
                )
            )
        ))
        for i in range(20):
            identifier = recordId = 'record:id:%02d' % i
            metadataFormats = [('oai_dc', 'http://www.openarchives.org/OAI/2.0/oai_dc.xsd', 'http://www.openarchives.org/OAI/2.0/oai_dc/')]
            if i >= 10:
                metadataFormats.append(('prefix2', 'http://example.org/prefix2/?format=xsd&prefix=2','http://example.org/prefix2/'))
            sets = []
            if i >= 5:
                sets.append(('setSpec%s' % ((i//5)*5), ('' if ((i//5)*5) == 10 else 'setName')))  # empty string becomes 'set <setSpec>'.
            if 5 <= i < 10:
                sets.append(('hierarchical:set', 'hierarchical set'))
            if 10 <= i < 15:
                sets.append(('hierarchical', 'hierarchical toplevel only'))
            sleep(0.001) # avoid timestamps being equals on VMs

            setSpecs = []
            for spec, name in sets:
                setSpecs.append(spec)
                jazz.updateSet(setSpec=spec, setName=name)
            formats = []
            for prefix,schema,namespace in metadataFormats:
                formats.append(prefix)
                jazz.updateMetadataFormat(prefix=prefix, schema=schema, namespace=namespace)

            jazz.addOaiRecord(recordId, setSpecs=setSpecs, metadataPrefixes=formats)
            if i % 5 == 0:
                list(compose(jazz.delete(recordId)))

            self.storage.addData(
                identifier=identifier,
                name='oai_dc',
                data=b'<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:identifier>%b</dc:identifier></oai_dc:dc>' % bytes(recordId, encoding="utf-8"))
            if i >= 10:
                self.storage.addData(
                    identifier=identifier,
                    name='prefix2',
                    data=b'<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:subject>%b</dc:subject></oai_dc:dc>' %  bytes(recordId, encoding="utf-8"))
예제 #36
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.registry = FieldRegistry()
     self._multiLucene = MultiLucene(defaultCore='coreA', host="localhost", port=12345)
     self._lucene = Lucene(host="localhost", port=12345, settings=LuceneSettings(), name='coreA')
     self._multiLucene.addObserver(self._lucene)
     self.post = []
     self.response = ""
     def mockPost(data, path, **kwargs):
         self.post.append(dict(data=data, path=path))
         raise StopIteration(self.response)
         yield
     connect = self._multiLucene._connect()
     connect._post = mockPost
     self._multiLucene._connect = lambda: connect
예제 #37
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.validate = Validate(xsd)
     self.interceptor = CallTrace('interceptor',
                                  returnValues={
                                      'all_unknown': (x for x in ['done']),
                                      'any_unknown': (x for x in ['done']),
                                      'do_unknown': None,
                                      'call_unknown': 'done',
                                      'logException': None
                                  },
                                  onlySpecifiedMethods=True)
     self.validate.addObserver(self.interceptor)
     self.observable = Observable()
     self.observable.addObserver(self.validate)
예제 #38
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.observer1 = CallTrace('observer 1', returnValues={
         'f': (i for i in ['done']),
         'g': 'done'}, onlySpecifiedMethods=True)
     self.observer2 = CallTrace('observer 2', returnValues={
         'h': 'done2'}, onlySpecifiedMethods=True)
     self.observable = be(
         (Observable(),
             (FourtytwoConverter(fromKwarg='data', toKwarg='fourtytwo'),
                 (self.observer2, )
             ),
             (self.observer1, )
         )
     )
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.response = Response(total=10, hits=[])
     self.drilldownDataResponse = None
     def executeQuery(facets=None, **kwargs):
         if self.drilldownDataResponse:
             self.response.drilldownData = self.drilldownDataResponse
         elif not facets is None:
             self.response.drilldownData = []
             for facet in facets:
                 if isinstance(facet, dict):
                     self.response.drilldownData.append({'fieldname': facet['fieldname'], 'terms':[{'term': 'value1', 'count': 1}, {'term': 'value2', 'count': 2}]})
         return self.response
         yield
     self.observer = CallTrace('observer', methods={'executeQuery': executeQuery}, emptyGeneratorMethods=['someMethod'])
예제 #40
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        for fname, data in DATA.items():
            domainId, _ = fname.split(".", 1)
            domainDir = join(self.tempdir, domainId)
            isdir(domainDir) or makedirs(domainDir)
            with open(join(self.tempdir, domainId, fname), "w") as fp:
                fp.write(data)
        self.n = 0

        def mock_id():
            self.n += 1
            return 'mock-id: %s' % self.n

        self.hd = self.createHarvesterData(mock_id)
예제 #41
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.observer = CallTrace('Observer', methods={'handleRequest': lambda *args, **kwargs: (x for x in [])})

        self.usedKwargs = []
        def filterMethod(**kwargs):
            self.usedKwargs.append(kwargs)
            return self.result

        self.dna = be(
            (Observable(),
                (HandleRequestFilter(filterMethod),
                    (self.observer, )
                )
            )
        )
예제 #42
0
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.sic = SuggestionIndexComponent(host="localhost", port=12345)
        self.post = []
        self.response = ""
        def mockPost(data, path, **kwargs):
            self.post.append(dict(data=data, path=path))
            raise StopIteration(self.response)
            yield
        self.sic._connect._post = mockPost

        self.get = []
        def mockGet(path, **kwargs):
            self.get.append(path)
            raise StopIteration(self.response)
            yield
        self.sic._connect._get = mockGet
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.stderr = StringIO()
        self.sruRecordUpdate = SruRecordUpdate(stderr=self.stderr,
                                               logErrors=True,
                                               enableCollectLog=True)

        @asyncnoreturnvalue
        def addOrDelete(*args, **kwargs):
            pass

        self.observer = CallTrace("Observer",
                                  methods={
                                      'add': addOrDelete,
                                      'delete': addOrDelete
                                  })
        self.sruRecordUpdate.addObserver(self.observer)
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.target = CallTrace('SruUpdateTarget', verbose=True)
        self.uploader = SruUpdateUploader(self.target,
                                          CallTrace('eventlogger'))
        self.sentData = []

        def sendData(anId, data):
            self.sentData.append(data)

        self.uploader._sendData = sendData

        self.upload = CallTrace('Upload')
        self.upload.id = 'some:id'
        self.upload.parts = {
            'meta': '<meta>....</meta>',
            'otherdata': '<stupidXML>ßabcdefgh'
        }
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.paths = []

        def handleRequest(path, *args, **kwargs):
            self.paths.append(path)
            yield "RESPONSE"

        def validateMethod(cookie):
            return dict(
                value="USER", header="COOKIE HEADER"
            ) if cookie == "THIS IS THE REMEMBER ME COOKIE" else None

        self.observer = CallTrace(
            methods={
                'handleRequest': handleRequest,
                'validateCookie': validateMethod,
                'cookieName': lambda: "CID"
            })
        self.dna = be((Observable(), (RememberMeCookie(), (self.observer, ))))
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.timeObserver = CallTrace('gustosclient time',
                                   returnValues={'report': None},
                                   onlySpecifiedMethods=True)
     self.countObserver = CallTrace('gustosclient count',
                                    returnValues={'report': None},
                                    onlySpecifiedMethods=True)
     self.silentObserver = CallTrace('gustosclient silent',
                                     returnValues={'report': None},
                                     onlySpecifiedMethods=True)
     self.top = be((
         Observable(),
         (
             GustosLogWriter(),
             (SruResponseTimesReport(gustosGroup='gustosGroup',
                                     scopeNames=('query-scope',
                                                 'sub-scope')), ),
             (ResponseSizeReport(gustosGroup='gustosGroup',
                                 scopeNames=('query-scope',
                                             'sub-scope')), ),
             (ClausesCountReport(gustosGroup='gustosGroup',
                                 scopeNames=('query-scope',
                                             'sub-scope')), ),
             (self.timeObserver, ),
         ),
         (
             GustosTimedLogWriter(interval=0.1),
             (SruQueryCountReport(gustosGroup='gustosGroup',
                                  scopeNames=('query-scope',
                                              'sub-scope')), ),
             (self.countObserver, ),
         ),
         (
             GustosLogWriter(),
             (SruQueryCountReport(gustosGroup='gustosGroup',
                                  scopeNames=('non-existing-scope', )), ),
             (self.silentObserver, ),
         ),
     ))
    def setUp(self):
        SeecrTestCase.setUp(self)
        self.hd = HarvesterData(self.tempdir)
        self.hd.addDomain('domain')
        self.hd.addRepositoryGroup('group', domainId='domain')
        self.hd.addRepository('repository',
                              repositoryGroupId='group',
                              domainId='domain')
        self.hd.updateFieldDefinition(
            'domain', {
                'repository_fields': [
                    {
                        'name': 'name',
                        'label': 'Label',
                        'type': 'text',
                        'export': False
                    },
                    {
                        'name': 'choice_1',
                        'label': 'Keuze',
                        'type': 'bool',
                        'export': False
                    },
                    {
                        'name': 'choice_2',
                        'label': 'Keuze',
                        'type': 'bool',
                        'export': False
                    },
                ]
            })
        self.hda = HarvesterDataActions()
        self.hda.addObserver(self.hd)

        self.observable = CallTrace()
        self.dna = be(
            (Observable(), (HarvesterDataActions(), (self.observable, ))))
예제 #48
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self._solrInterface = SolrInterface("localhost", 8888)
예제 #49
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.subject = OaiAddRecord()
     self.observer = CallTrace('observert')
     self.observer.getAllMetadataFormats = lambda: []
     self.subject.addObserver(self.observer)
예제 #50
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.pwd = PasswordFile2(join(self.tempdir, 'passwd'))
예제 #51
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     with open(join(self.tempdir, 'data.txt'), 'w') as f:
         f.write('DATA')
     self.sf = StaticFiles(libdir=self.tempdir, path='/jquery')
예제 #52
0
    def setUp(self):
        SeecrTestCase.setUp(self)

        self.storageComponent = StorageComponent(self.tempdir)
        self.storage = self.storageComponent._storage
예제 #53
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.dbdq = DrilldownQueries()
     self.observer = CallTrace(methods=dict(executeQuery=mockExecuteQuery))
     self.dbdq.addObserver(self.observer)
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.harvestdate = AddMetadataNamespace(
         dateformat="%Y-%m-%dT%H:%M:%SZ", fromKwarg='lxmlNode')
     self.observer = CallTrace('observer')
     self.harvestdate.addObserver(self.observer)
예제 #55
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.report = SruRecordUpdateCountReport(gustosGroup='gustosGroup',
                                              scopeNames=('update-scope', ))
예제 #56
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.directory = mkdir(self.tempdir, "directory1")
     self.directory2 = mkdir(self.tempdir, "directory2")
예제 #57
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self._filename = join(self.tempdir, "TheDict")
     self.timedDict = TimedPersistentDictionary(TWO_HOURS,
                                                filename=self._filename)
예제 #58
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.handler = SessionHandler()
     self.cookiestore = CookieMemoryStore(name='session', timeout=10)
     self.handler.addObserver(self.cookiestore)
     self.handler._zulutime = lambda: ZuluTime('2015-01-27T13:34:45Z')
예제 #59
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self.repository = CallTrace("Repository")
     self.repository.id = 'repository'
     self.repository.baseurl = 'base:url'
     self.repository.returnValues['shopClosed'] = False
예제 #60
0
 def setUp(self):
     SeecrTestCase.setUp(self)
     self._shutdownHandler = None