def testServicePrefixSearch(self):
     observer = CallTrace('lucene')
     def prefixSearch(**kwargs):
         raise StopIteration(LuceneResponse(total=2, hits=['aap','noot']))
         yield
     observer.methods['prefixSearch'] = prefixSearch
     service = LuceneRemoteService(CallTrace('reactor'))
     service.addObserver(observer)
     body = dumps({
             'message': 'prefixSearch',
             'kwargs':{
                 'prefix':'aap',
                 'fieldname': 'field',
                 'limit': 10,
             }
         })
     result = ''.join(compose(service.handleRequest(path='/__lucene_remote__', Method="POST", Body=body)))
     header, body = result.split('\r\n'*2)
     self.assertTrue('Content-Type: application/json' in header, header)
     response = LuceneResponse.fromJson(body)
     self.assertEquals(2, response.total)
     self.assertEquals(['aap', 'noot'], response.hits)
     self.assertEquals(['prefixSearch'], observer.calledMethodNames())
     m = observer.calledMethods[0]
     self.assertEquals('aap', m.kwargs['prefix'])
     self.assertEquals(10, m.kwargs['limit'])
     self.assertEquals('field', m.kwargs['fieldname'])
Example #2
0
    def testServicePrefixSearch(self):
        observer = CallTrace('lucene')

        def prefixSearch(**kwargs):
            raise StopIteration(LuceneResponse(total=2, hits=['aap', 'noot']))
            yield

        observer.methods['prefixSearch'] = prefixSearch
        service = LuceneRemoteService(CallTrace('reactor'))
        service.addObserver(observer)
        body = dumps({
            'message': 'prefixSearch',
            'kwargs': {
                'prefix': 'aap',
                'fieldname': 'field',
                'limit': 10,
            }
        })
        result = ''.join(
            compose(
                service.handleRequest(path='/__lucene_remote__',
                                      Method="POST",
                                      Body=body)))
        header, body = result.split('\r\n' * 2)
        self.assertTrue('Content-Type: application/json' in header, header)
        response = LuceneResponse.fromJson(body)
        self.assertEquals(2, response.total)
        self.assertEquals(['aap', 'noot'], response.hits)
        self.assertEquals(['prefixSearch'], observer.calledMethodNames())
        m = observer.calledMethods[0]
        self.assertEquals('aap', m.kwargs['prefix'])
        self.assertEquals(10, m.kwargs['limit'])
        self.assertEquals('field', m.kwargs['fieldname'])
 def testServiceExecuteQuery(self):
     observer = CallTrace('lucene')
     def executeQuery(**kwargs):
         raise StopIteration(LuceneResponse(total=2, hits=['aap','noot']))
         yield
     observer.methods['executeQuery'] = executeQuery
     service = LuceneRemoteService(CallTrace('reactor'))
     service.addObserver(observer)
     body = dumps({
             'message': 'executeQuery',
             'kwargs':{
                 'cqlAbstractSyntaxTree': {'__CQL_QUERY__': 'query AND field=value'},
                 'start':0,
                 'stop': 10,
                 'facets': [{'fieldname': 'field', 'maxTerms':5}],
                 'filterQueries': [{'__CQL_QUERY__': 'query=fiets'}],
                 'joinQueries': {'core1': {'__CQL_QUERY__': 'query=test'}}
             }
         })
     result = ''.join(compose(service.handleRequest(path='/__lucene_remote__', Method="POST", Body=body)))
     header, body = result.split('\r\n'*2)
     self.assertTrue('Content-Type: application/json' in header, header+body)
     response = LuceneResponse.fromJson(body)
     self.assertEquals(2, response.total)
     self.assertEquals(['aap', 'noot'], response.hits)
     self.assertEquals(['executeQuery'], observer.calledMethodNames())
     m = observer.calledMethods[0]
     self.assertEquals(parseString('query AND field=value'), m.kwargs['cqlAbstractSyntaxTree'])
     self.assertEquals(0, m.kwargs['start'])
     self.assertEquals(10, m.kwargs['stop'])
     self.assertEquals([{'fieldname': 'field', 'maxTerms':5}], m.kwargs['facets'])
     self.assertEquals([parseString('query=fiets')], m.kwargs['filterQueries'])
     self.assertEquals({'core1': parseString('query=test')}, m.kwargs['joinQueries'])
Example #4
0
    def testServiceExecuteQuery(self):
        observer = CallTrace('lucene')

        def executeQuery(**kwargs):
            raise StopIteration(LuceneResponse(total=2, hits=['aap', 'noot']))
            yield

        observer.methods['executeQuery'] = executeQuery
        service = LuceneRemoteService(CallTrace('reactor'))
        service.addObserver(observer)
        body = dumps({
            'message': 'executeQuery',
            'kwargs': {
                'cqlAbstractSyntaxTree': {
                    '__CQL_QUERY__': 'query AND field=value'
                },
                'start': 0,
                'stop': 10,
                'facets': [{
                    'fieldname': 'field',
                    'maxTerms': 5
                }],
                'filterQueries': [{
                    '__CQL_QUERY__': 'query=fiets'
                }],
                'joinQueries': {
                    'core1': {
                        '__CQL_QUERY__': 'query=test'
                    }
                }
            }
        })
        result = ''.join(
            compose(
                service.handleRequest(path='/__lucene_remote__',
                                      Method="POST",
                                      Body=body)))
        header, body = result.split('\r\n' * 2)
        self.assertTrue('Content-Type: application/json' in header,
                        header + body)
        response = LuceneResponse.fromJson(body)
        self.assertEquals(2, response.total)
        self.assertEquals(['aap', 'noot'], response.hits)
        self.assertEquals(['executeQuery'], observer.calledMethodNames())
        m = observer.calledMethods[0]
        self.assertEquals(parseString('query AND field=value'),
                          m.kwargs['cqlAbstractSyntaxTree'])
        self.assertEquals(0, m.kwargs['start'])
        self.assertEquals(10, m.kwargs['stop'])
        self.assertEquals([{
            'fieldname': 'field',
            'maxTerms': 5
        }], m.kwargs['facets'])
        self.assertEquals([parseString('query=fiets')],
                          m.kwargs['filterQueries'])
        self.assertEquals({'core1': parseString('query=test')},
                          m.kwargs['joinQueries'])