Bladeren bron

HUE-7738 [notebook] Adding new api and hiveserver2 tests

Romain 5 jaren geleden
bovenliggende
commit
c06f39cae9

+ 29 - 0
desktop/libs/notebook/src/notebook/api_tests.py

@@ -378,6 +378,35 @@ FROM déclenché c, c.addresses a"""
       assert_equal(data, {'status': 0})  # We get back empty instead of failure with QueryExpired to silence end user messages
 
 
+  def test_autocomplete_functions(self):
+    # Note: better test would be to mock autocomplete() and not get_api() with hive and mysql dialects
+
+    with patch('notebook.api.get_api') as get_api:
+      get_api.return_value = Mock(
+        autocomplete=Mock(
+          return_value={
+            'functions': [
+              {'name': 'f1'}, {'name': 'f2'}, {'name': 'f3'}
+            ]
+          }
+        )
+      )
+
+      response = self.client.post(reverse('notebook:api_autocomplete_databases'), {
+          'snippet': json.dumps({'type': 'hive', 'properties': {}}),
+          'operation': 'functions'
+      })
+
+      assert_equal(response.status_code, 200)
+      data = json.loads(response.content)
+      assert_equal(data['status'], 0)
+
+      assert_equal(
+        data['functions'],
+        [{'name': 'f1'}, {'name': 'f2'}, {'name': 'f3'}]
+      )
+
+
 class MockedApi(Api):
   def execute(self, notebook, snippet):
     return {

+ 2 - 8
desktop/libs/notebook/src/notebook/connectors/hiveserver2_tests.py

@@ -379,14 +379,8 @@ class TestApi():
           {'name': 'f1'}, {'name': 'f2'}, {'name': 'f3'}
         ]
 
-        response = self.client.post(reverse('notebook:api_autocomplete_databases'), {
-            'snippet': json.dumps(snippet),
-            'operation': 'functions'
-        })
-
-        assert_equal(response.status_code, 200)
-        data = json.loads(response.content)
-        assert_equal(data['status'], 0)
+        api = HS2Api(self.user)
+        data = api.autocomplete(snippet, operation='functions')
 
         assert_equal(
           data['functions'],