浏览代码

HUE-5093 [metadata] Have tests use an augmented user like after a real login

Romain Rigaux 9 年之前
父节点
当前提交
4ddd211854

+ 1 - 1
desktop/libs/metadata/src/metadata/navigator_client.py

@@ -68,7 +68,7 @@ class NavigatorApi(object):
     default_entity_types = entity_types = ('DATABASE', 'TABLE', 'PARTITION', 'FIELD', 'FILE', 'VIEW', 'OPERATION', 'DIRECTORY')
     default_entity_types = entity_types = ('DATABASE', 'TABLE', 'PARTITION', 'FIELD', 'FILE', 'VIEW', 'OPERATION', 'DIRECTORY')
 
 
     if 'sql' in sources or 'hive' in sources or 'impala' in sources:
     if 'sql' in sources or 'hive' in sources or 'impala' in sources:
-      default_entity_types = ('TABLE', 'VIEW', 'FIELD')
+      default_entity_types = ('TABLE', 'VIEW')
       entity_types = ('TABLE', 'VIEW', 'DATABASE', 'PARTITION', 'FIELD')
       entity_types = ('TABLE', 'VIEW', 'DATABASE', 'PARTITION', 'FIELD')
     elif 'hdfs' in sources:
     elif 'hdfs' in sources:
       entity_types = ('FILE', 'DIRECTORY')
       entity_types = ('FILE', 'DIRECTORY')

+ 8 - 2
desktop/libs/metadata/src/metadata/navigator_client_tests.py

@@ -22,7 +22,9 @@ from nose.tools import assert_equal
 
 
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
 
 
+from desktop.auth.backend import rewrite_user
 from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.django_test_util import make_logged_in_client
+from desktop.lib.test_utils import add_to_group, grant_access
 from hadoop.pseudo_hdfs4 import is_live_cluster
 from hadoop.pseudo_hdfs4 import is_live_cluster
 
 
 from metadata.conf import has_navigator
 from metadata.conf import has_navigator
@@ -43,7 +45,11 @@ class TestNavigatorclient:
   def setup_class(cls):
   def setup_class(cls):
     cls.client = make_logged_in_client(username='test', is_superuser=False)
     cls.client = make_logged_in_client(username='test', is_superuser=False)
     cls.user = User.objects.get(username='test')
     cls.user = User.objects.get(username='test')
-    if not is_live_cluster() or not has_navigator(cls.user): # Until v1
+    cls.user = rewrite_user(cls.user)
+    add_to_group('test')
+    grant_access("test", "test", "metadata")
+
+    if not is_live_cluster() or not has_navigator(cls.user):
       raise SkipTest
       raise SkipTest
 
 
   def test_search_entities(self):
   def test_search_entities(self):
@@ -51,7 +57,7 @@ class TestNavigatorclient:
     api._root = MockedRoot()
     api._root = MockedRoot()
 
 
     assert_equal(
     assert_equal(
-        '((originalName:*cases*)OR(originalDescription:*cases*)OR(name:*cases*)OR(description:*cases*)OR(tags:*cases*)) AND ((type:TABLE)OR(type:VIEW))',
+        '((originalName:*cases*)OR(originalDescription:*cases*)OR(name:*cases*)OR(description:*cases*)OR(tags:*cases*)) AND (*) AND ((type:TABLE)OR(type:VIEW))',
         api.search_entities(query_s='cases', sources=['hive'])[0][1]
         api.search_entities(query_s='cases', sources=['hive'])[0][1]
     )
     )
 
 

+ 7 - 9
desktop/libs/metadata/src/metadata/navigator_tests.py

@@ -24,9 +24,10 @@ from nose.tools import assert_equal, assert_true
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
 from django.core.urlresolvers import reverse
 from django.core.urlresolvers import reverse
 
 
-from hadoop.pseudo_hdfs4 import is_live_cluster
+from desktop.auth.backend import rewrite_user
 from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.test_utils import add_to_group, grant_access
 from desktop.lib.test_utils import add_to_group, grant_access
+from hadoop.pseudo_hdfs4 import is_live_cluster
 
 
 from metadata.conf import has_navigator
 from metadata.conf import has_navigator
 from metadata.navigator_client import NavigatorApi
 from metadata.navigator_client import NavigatorApi
@@ -41,16 +42,13 @@ class TestNavigatorApi(object):
   def setup_class(cls):
   def setup_class(cls):
     cls.client = make_logged_in_client(username='test', is_superuser=False)
     cls.client = make_logged_in_client(username='test', is_superuser=False)
     cls.user = User.objects.get(username='test')
     cls.user = User.objects.get(username='test')
+    cls.user = rewrite_user(cls.user)
+    add_to_group('test')
+    grant_access("test", "test", "metadata")
 
 
     if not is_live_cluster() or not has_navigator(cls.user):
     if not is_live_cluster() or not has_navigator(cls.user):
       raise SkipTest
       raise SkipTest
 
 
-    cls.client = make_logged_in_client(username='test', is_superuser=False)
-    cls.user = User.objects.get(username='test')
-    add_to_group('test')
-    grant_access("test", "test", "metadata")
-    grant_access("test", "test", "navigator")
-
     cls.api = NavigatorApi()
     cls.api = NavigatorApi()
 
 
 
 
@@ -91,12 +89,12 @@ class TestNavigatorApi(object):
     resp = self.client.post(reverse('metadata:add_tags'), self._format_json_body({'id': entity_id, 'tags': ['hue_test']}))
     resp = self.client.post(reverse('metadata:add_tags'), self._format_json_body({'id': entity_id, 'tags': ['hue_test']}))
     json_resp = json.loads(resp.content)
     json_resp = json.loads(resp.content)
     assert_equal(0, json_resp['status'], json_resp)
     assert_equal(0, json_resp['status'], json_resp)
-    assert_equal(tags + ['hue_test'], json_resp['entity']['tags'])
+    assert_equal(set(tags + ['hue_test']), set(json_resp['entity']['tags']))
 
 
     resp = self.client.post(reverse('metadata:delete_tags'), self._format_json_body({'id': entity_id, 'tags': ['hue_test']}))
     resp = self.client.post(reverse('metadata:delete_tags'), self._format_json_body({'id': entity_id, 'tags': ['hue_test']}))
     json_resp = json.loads(resp.content)
     json_resp = json.loads(resp.content)
     assert_equal(0, json_resp['status'], json_resp)
     assert_equal(0, json_resp['status'], json_resp)
-    assert_equal(entity['tags'], json_resp['entity']['tags'])
+    assert_true(tags, json_resp['entity']['tags'])
 
 
 
 
   def test_api_properties(self):
   def test_api_properties(self):

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

@@ -24,9 +24,10 @@ from nose.tools import assert_equal, assert_true
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
 from django.core.urlresolvers import reverse
 from django.core.urlresolvers import reverse
 
 
-from hadoop.pseudo_hdfs4 import is_live_cluster
+from desktop.auth.backend import rewrite_user
 from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.test_utils import add_to_group, grant_access
 from desktop.lib.test_utils import add_to_group, grant_access
+from hadoop.pseudo_hdfs4 import is_live_cluster
 
 
 from metadata.optimizer_client import OptimizerApi, is_optimizer_enabled
 from metadata.optimizer_client import OptimizerApi, is_optimizer_enabled
 
 
@@ -38,12 +39,12 @@ class TestOptimizerApi(object):
 
 
   @classmethod
   @classmethod
   def setup_class(cls):
   def setup_class(cls):
-
-    if not is_optimizer_enabled():
+    if not is_live_cluster() or not is_optimizer_enabled():
       raise SkipTest
       raise SkipTest
 
 
     cls.client = make_logged_in_client(username='test', is_superuser=False)
     cls.client = make_logged_in_client(username='test', is_superuser=False)
     cls.user = User.objects.get(username='test')
     cls.user = User.objects.get(username='test')
+    cls.user = rewrite_user(cls.user)
     add_to_group('test')
     add_to_group('test')
     grant_access("test", "test", "metadata")
     grant_access("test", "test", "metadata")
     grant_access("test", "test", "optimizer")
     grant_access("test", "test", "optimizer")