def test_build_terms_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_terms_query(fields, terms) self.assertFalse(query) #...................................................................... # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_terms_query(fields, terms) self.assertTrue("term" in query) self.assertTrue(fields in query["term"]) self.assertEqual(query["term"][fields], terms) #...................................................................... # Multiple terms, single field query fields = "signature" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_terms_query(fields, terms) self.assertTrue("terms" in query) self.assertTrue(fields in query["terms"]) self.assertEqual(query["terms"][fields], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["signature", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_terms_query(fields, terms) self.assertTrue("terms" in query) for field in fields: self.assertTrue(field in query["terms"]) self.assertEqual(query["terms"][field], terms)
def test_build_terms_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_terms_query(fields, terms) self.assertFalse(query) #...................................................................... # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_terms_query(fields, terms) self.assertTrue("term" in query) self.assertTrue(fields in query["term"]) self.assertEqual(query["term"][fields], terms) #...................................................................... # Multiple terms, single field query fields = "signature" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_terms_query(fields, terms) self.assertTrue("terms" in query) self.assertTrue(fields in query["terms"]) self.assertEqual(query["terms"][fields], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["signature", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_terms_query(fields, terms) self.assertTrue("terms" in query) for field in fields: self.assertTrue(field in query["terms"]) self.assertEqual(query["terms"][field], terms)
def test_build_terms_query(): """ Test ElasticSearchBase.build_terms_query() """ # Empty query fields = "" terms = None query = ElasticSearchBase.build_terms_query(fields, terms) assert not query # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_terms_query(fields, terms) assert "term" in query, ( "Single term, single field query does not have a term field: " "%s" % query) assert fields in query["term"], ( "Term query does not have the asked %s field: %s" % (fields, query)) assert query["term"][fields] == terms, ( "Term query's value is %s, should be %s in query %s" % (query["term"][fields], terms, query)) # Multiple terms, single field query fields = "signature" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_terms_query(fields, terms) assert "terms" in query, ( "Single term, single field query does not have a term field: " "%s" % query) assert fields in query["terms"], ( "Term query does not have the asked %s field: %s" % (fields, query)) assert query["terms"][fields] == terms, ( "Term query's value is %s, should be %s in query %s" % (query["term"][fields], terms, query)) # Multiple terms, multiple fields query fields = ["signature", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_terms_query(fields, terms) assert "terms" in query, ( "Single term, single field query does not have a term field: " "%s" % query) for field in fields: assert field in query["terms"], ( "Term query does not have the asked %s field: %s" % (field, query)) assert query["terms"][field] == terms, ( "Term query's value is %s, should be %s in query %s" % (query["term"][field], terms, query))
def test_build_terms_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_terms_query(fields, terms) ok_(not query) #...................................................................... # Single term, single field query fields = "signature" prefixed_field = "processed_crash.signature" terms = "hang" query = ElasticSearchBase.build_terms_query(fields, terms) ok_("term" in query) ok_(prefixed_field in query["term"]) eq_(query["term"][prefixed_field], terms) #...................................................................... # Multiple terms, single field query fields = "signature" prefixed_field = "processed_crash.signature" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_terms_query(fields, terms) ok_("terms" in query) ok_(prefixed_field in query["terms"]) eq_(query["terms"][prefixed_field], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["signature", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_terms_query(fields, terms) ok_("terms" in query) for field in fields: prefixed_field = "processed_crash.%s" % field ok_(prefixed_field in query["terms"]) eq_(query["terms"][prefixed_field], terms)
def test_build_terms_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_terms_query(fields, terms) ok_(not query) #...................................................................... # Single term, single field query fields = "signature" prefixed_field = "processed_crash.signature" terms = "hang" query = ElasticSearchBase.build_terms_query(fields, terms) ok_("term" in query) ok_(prefixed_field in query["term"]) eq_(query["term"][prefixed_field], terms) #...................................................................... # Multiple terms, single field query fields = "signature" prefixed_field = "processed_crash.signature" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_terms_query(fields, terms) ok_("terms" in query) ok_(prefixed_field in query["terms"]) eq_(query["terms"][prefixed_field], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["signature", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_terms_query(fields, terms) ok_("terms" in query) for field in fields: prefixed_field = "processed_crash.%s" % field ok_(prefixed_field in query["terms"]) eq_(query["terms"][prefixed_field], terms)