def test_build_wildcard_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_wildcard_query(fields, terms) self.assertFalse(query) #...................................................................... # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_wildcard_query(fields, terms) self.assertTrue("wildcard" in query) self.assertTrue("signature.full" in query["wildcard"]) self.assertEqual(query["wildcard"]["signature.full"], terms) #...................................................................... # Multiple terms, single field query fields = "dump" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_wildcard_query(fields, terms) self.assertTrue("wildcard" in query) self.assertTrue(fields in query["wildcard"]) self.assertEqual(query["wildcard"][fields], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["reason", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_wildcard_query(fields, terms) self.assertTrue("wildcard" in query) for field in fields: self.assertTrue(field in query["wildcard"]) self.assertEqual(query["wildcard"][field], terms)
def test_build_wildcard_query(): """ Test ElasticSearchBase.build_wildcard_query() """ # Empty query fields = "" terms = None query = ElasticSearchBase.build_wildcard_query(fields, terms) assert not query, "Query is %s, null or empty expected." % query # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_wildcard_query(fields, terms) assert "wildcard" in query, ( "Single term, single field query does not have " "a wildcard field: %s" % query) assert "signature.full" in query["wildcard"], ( "Term query does not have the asked %s field: %s" % (fields, query)) assert query["wildcard"]["signature.full"] == terms, ( "Term query's value is %s, should be %s in query %s" % (query["term"][fields], terms, query)) # Multiple terms, single field query fields = "dump" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_wildcard_query(fields, terms) assert "wildcard" in query, ( "Single term, single field query does not have " "a wildcard field: %s" % query) assert fields in query["wildcard"], ( "Term query does not have the asked %s field: %s" % (fields, query)) assert query["wildcard"][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 = ["reason", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_wildcard_query(fields, terms) assert "wildcard" in query, ( "Single term, single field query does not have " "a wildcard field: %s" % query) for field in fields: assert field in query["wildcard"], ( "Term query does not have the asked %s field: %s" % (field, query)) assert query["wildcard"][field] == terms, ( "Term query's value is %s, should be %s in query %s" % (query["term"][field], terms, query))
def test_build_wildcard_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_(not query) #...................................................................... # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_("wildcard" in query) ok_("processed_crash.signature.full" in query["wildcard"]) eq_( query["wildcard"]["processed_crash.signature.full"], terms ) #...................................................................... # Multiple terms, single field query fields = "dump" prefixed_field = "processed_crash.dump" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_("wildcard" in query) ok_(prefixed_field in query["wildcard"]) eq_(query["wildcard"][prefixed_field], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["reason", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_("wildcard" in query) for field in fields: prefixed_field = "processed_crash.%s" % field ok_(prefixed_field in query["wildcard"]) eq_(query["wildcard"][prefixed_field], terms)
def test_build_wildcard_query(self): # Empty query fields = "" terms = None query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_(not query) #...................................................................... # Single term, single field query fields = "signature" terms = "hang" query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_("wildcard" in query) ok_("processed_crash.signature.full" in query["wildcard"]) eq_(query["wildcard"]["processed_crash.signature.full"], terms) #...................................................................... # Multiple terms, single field query fields = "dump" prefixed_field = "processed_crash.dump" terms = ["hang", "flash", "test"] query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_("wildcard" in query) ok_(prefixed_field in query["wildcard"]) eq_(query["wildcard"][prefixed_field], terms) #...................................................................... # Multiple terms, multiple fields query fields = ["reason", "dump"] terms = ["hang", "flash"] query = ElasticSearchBase.build_wildcard_query(fields, terms) ok_("wildcard" in query) for field in fields: prefixed_field = "processed_crash.%s" % field ok_(prefixed_field in query["wildcard"]) eq_(query["wildcard"][prefixed_field], terms)