Пример #1
0
    def test_bigtest03(self):
        '''Get recids_hm_strstr'''

        message = self.bridge.createMessage('bigtest') \
                    .setParam('action', 'recids_hm_strstr') \
                    .setParam('size', self.size)

        self.bridge.sendMessage(message)
        res = HashMap.cast_(message.getResults())
        assert res.size() == self.size
        assert str(String.cast_(res.get('0'))) == '0'
        assert str(String.cast_(res.get('5'))) == '5'
Пример #2
0
    def test_invenio_search(self):
        kws = HashMap() #.of_(String, List)
        p = ArrayList() #.of_(String)
        of = ArrayList() #.of_(String)
        rg = ArrayList() #.of_(String)
        
        p.add('recid:94')
        of.add('xm')
        
        kws.put('p', p)
        kws.put('of', of)
        
        message = self.bridge.createMessage('invenio_search') \
                    .setParam('kwargs', kws)

        self.bridge.sendMessage(message)
        result = str(String.cast_(message.getResults()))
        assert '<controlfield tag="001">94</controlfield>' in result
        
        
        
        p.clear()
        p.add('recid:0->50')
        message = self.bridge.createMessage('invenio_search') \
                    .setParam('kwargs', kws)
        self.bridge.sendMessage(message)
        result = str(String.cast_(message.getResults()))
        
        print result
        assert 'Search-Engine-Total-Number-Of-Results: 42' in result
        assert len(result) > 1000
        assert result.count('<record>') == 10
        
        rg.add('200')
        kws.put('rg', rg)
        
        message = self.bridge.createMessage('invenio_search') \
                    .setParam('kwargs', kws)
        self.bridge.sendMessage(message)
        result = str(String.cast_(message.getResults()))
        
        assert 'Search-Engine-Total-Number-Of-Results: 42' in result
        assert len(result) > 1000
        assert result.count('<record>') == 42
Пример #3
0
def get_citation_dict(message):
    '''TODO: unittest'''
    dictname = String.cast_(message.getParam('dictname'))
    
    # we will call the local module (not dispatched remotely)
    if hasattr(api_calls, '_dispatch'):
        wid, cd = api_calls._dispatch("get_citation_dict", dictname)
    else:
        wid, cd = api_calls.dispatch("get_citation_dict", dictname)
    
    if cd:
        hm = HashMap().of_(String, JArray_int)
        for k,v in cd.items():
            j_array = JArray_int(v)
            hm.put(k, j_array)
        message.put('result', hm)