Selaa lähdekoodia

[metadata] Support retrieving top tables

Romain Rigaux 9 vuotta sitten
vanhempi
commit
3b885def1f

+ 11 - 0
desktop/libs/metadata/src/metadata/optimizer_client.py

@@ -133,6 +133,17 @@ class OptimizerApi(object):
       raise PopupException(e, title=_('Error while accessing Optimizer'))
 
 
+  def top_tables(self, token, email=None):
+    try:
+      data = {
+          'email': email if email is not None else self._email,
+          'token': token,
+      }
+      return self._root.post('/api/topTables', data=json.dumps(data), contenttype=_JSON_CONTENT_TYPE)
+    except RestException, e:
+      raise PopupException(e, title=_('Error while accessing Optimizer'))
+
+
 def OptimizerDataAdapter(queries):
   headers = ['SQL_ID', 'ELAPSED_TIME', 'SQL_FULLTEXT']
   rows = ([str(uuid.uuid4()), 1000, q] for q in queries)

+ 9 - 0
desktop/libs/metadata/src/metadata/optimizer_tests.py

@@ -113,3 +113,12 @@ class TestOptimizerApi(object):
 
     resp = self.api.upload(token=token, queries=queries)
     assert_equal('success', resp['status'], resp)
+
+
+  def test_api_top_tables(self):
+    resp = self.api.authenticate()
+    token = resp['token']
+
+    resp = self.api.top_tables(token=token)
+
+    assert_true(isinstance(resp, list), resp) # No status code currently