def testAddDrilldownQuery(self): cq = ComposedQuery('coreA') cq.addDrilldownQuery('coreB', ('field', ['value'])) self.assertValidateRaisesValueError(cq, "No match set for cores ('coreA', 'coreB')") cq.addMatch(dict(core='coreA', uniqueKey='kA'), dict(core='coreB', key='kB')) self.assertEquals([('field', ['value'])], cq.drilldownQueriesFor('coreB')) cq.convertWith(coreB=lambda q: "converted_" + q) self.assertEquals([('field', ['value'])], cq.drilldownQueriesFor('coreB'))
def testAddFilterQueryAfterConversion(self): cq = ComposedQuery('coreA') cq.setCoreQuery('coreA', query='A') cq.convertWith(coreA=lambda q: "converted_" + q) self.assertEquals('converted_A', cq.queryFor('coreA')) # Assert the following does not raise KeyError cq.addFilterQuery('coreA', 'field=value') cq.addFacet('coreA', 'F0') cq.addDrilldownQuery('coreA', 'drilldownQuery') cq.addOtherCoreFacetFilter('coreA', 'q')
def testAddFilterQueryAfterConversion(self): cq = ComposedQuery('coreA') cq.setCoreQuery('coreA', query='A') cq.convertWith(coreA=lambda q, **kwargs: "converted_" + q) self.assertEquals('converted_A', cq.queryFor('coreA')) # Assert the following does not raise KeyError cq.addFilterQuery('coreA', 'field=value') cq.addFacet('coreA', 'F0') cq.addDrilldownQuery('coreA', 'drilldownQuery') cq.addOtherCoreFacetFilter('coreA', 'q')
def testJoinFacetWithJoinDrilldownQueryFilters(self): q = ComposedQuery('coreA', query=luceneQueryFromCql('M=true')) q.addDrilldownQuery('coreB', drilldownQuery=('cat_O', ['true'])) q.addFacet('coreB', dict(fieldname='cat_O', maxTerms=10)) q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX + 'A'), dict(core='coreB', key=KEY_PREFIX + 'B')) result = returnValueFromGenerator(self.dna.any.executeComposedQuery(query=q)) self.assertEquals(2, result.total) self.assertEquals([{ 'terms': [ {'count': 3, 'term': u'true'}, ], 'path': [], 'fieldname': u'cat_O' }], result.drilldownData)
def testJoinDrilldownQueryFilters(self): q = ComposedQuery('coreA', query=luceneQueryFromCql('M=true')) q.addDrilldownQuery('coreB', drilldownQuery=('cat_O', ['true'])) q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX + 'A'), dict(core='coreB', key=KEY_PREFIX + 'B')) result = returnValueFromGenerator(self.dna.any.executeComposedQuery(query=q)) self.assertEquals(2, result.total)