Selaa lähdekoodia

HUE-5145 [metadata] Add Similar Query API

Romain Rigaux 9 vuotta sitten
vanhempi
commit
7c32b80

+ 0 - 1
desktop/libs/metadata/src/metadata/optimizer_api.py

@@ -17,7 +17,6 @@
 
 import json
 import logging
-import random
 
 from django.http import Http404
 from django.utils.translation import ugettext as _

+ 6 - 15
desktop/libs/metadata/src/metadata/optimizer_client.py

@@ -201,21 +201,12 @@ class OptimizerApi(object):
     ])
 
 
-  def similar_queries(self, source_platform, query, token=None, email=None):
-    if token is None:
-      token = self._authenticate()
-
-    try:
-      data = {
-          'email': email if email is not None else self._email,
-          'token': token,
-          'sourcePlatform': source_platform,
-          'query': query
-      }
-      return self._root.post('/api/similarQueries', data=json.dumps(data), contenttype=_JSON_CONTENT_TYPE)
-    except RestException, e:
-      raise PopupException(e, title=_('Error while accessing Optimizer'))
-
+  def similar_queries(self, source_platform, query):
+    return self._exec('get-query-risk', [
+        '--tenant', self._product_name,
+        '--source-platform', source_platform,
+        '--query', query
+    ])
 
   def popular_filter_values(self, table_name, column_name=None, token=None, email=None):
     if token is None:

+ 3 - 4
desktop/libs/metadata/src/metadata/optimizer_client_tests.py

@@ -179,13 +179,12 @@ class TestOptimizerApi(object):
 
 
   def test_similar_queries(self):
-    source_platform = 'Hive'
+    source_platform = 'hive'
     query = 'Select * from (Select item.id from item)'
 
     resp = self.api.similar_queries(source_platform=source_platform, query=query)
 
     assert_equal('successs', resp['status'], resp)
 
-    details = json.loads(resp['details']) # Auto fix suggestion is empty in most of the cases currently
-
-    assert_equal([], details['details']['similarQueries'], resp)
+    assert_true('querySignature' in resp, resp)
+    assert_true('query' in resp, resp)