def _run_test(self, data, query, expect, dimensions): new_settings = self.utils.fill_container({ "query": query, "data": data }, tjson=True) db = FromES(settings=new_settings) db.namespaces += [Rename(dimensions=dimensions, source=db)] result = db.query(query) self.compare_to_expected(query, result, expect)
class FromESTester(object): def __init__(self, index): self.es = FakeES({ "host":"example.com", "index":"index" }) self.esq = FromES(self.es) def query(self, query): try: with self.esq: self.esq.query(query) return None except Exception, e: f = Except(ERROR, unicode(e), trace=extract_tb(1)) try: details = str(f) query = convert.json2value(strings.between(details, ">>>>", "<<<<")) return query except Exception, g: Log.error("problem", f)
def test_rename_edge_to_struct(self): query = { "from": TEST_TABLE, "edges": ["w"], "format": "table" } self.utils.fill_container({"query":query, "data": deep_test_data}) db = FromES(settings=base_test_case.settings.backend_es) db.namespaces += [Rename(dimensions={"name": "w", "fields": {"a": "a.v", "b": "a.b"}}), Typed()] result = db.query(query) self.compare_to_expected(query, result, { "header": ["w.a", "w.b", "count"], "data": [ [2, "x", 1], [5, "x", 1], [7, "x", 1], [NULL, NULL, 1] ] })