Esempio n. 1
0
 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)
Esempio n. 2
0
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)
Esempio n. 3
0
    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]
            ]
        })