浏览代码

HUE-5429 [useradmin] Creating a new user gives a AttributeError: 'User' object has no attribute 'user'

Romain Rigaux 9 年之前
父节点
当前提交
45fd138
共有 2 个文件被更改,包括 8 次插入2 次删除
  1. 7 1
      apps/useradmin/src/useradmin/tests.py
  2. 1 1
      apps/useradmin/src/useradmin/views.py

+ 7 - 1
apps/useradmin/src/useradmin/tests.py

@@ -36,6 +36,7 @@ from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.test_utils import grant_access
 from desktop.views import home
 from hadoop import pseudo_hdfs4
+from hadoop.pseudo_hdfs4 import is_live_cluster
 
 import useradmin.conf
 from useradmin.forms import UserChangeForm
@@ -765,7 +766,8 @@ class TestUserAdminWithHadoop(BaseUserAdminTests):
   requires_hadoop = True
 
   def test_ensure_home_directory(self):
-    raise SkipTest
+    if not is_live_cluster():
+      raise SkipTest
 
     resets = [
       useradmin.conf.PASSWORD_POLICY.IS_ENABLED.set_for_testing(False),
@@ -780,6 +782,8 @@ class TestUserAdminWithHadoop(BaseUserAdminTests):
       cluster.fs.setuser(cluster.superuser)
 
       # Create a user with a home directory
+      if cluster.fs.exists('/user/test1'):
+        cluster.fs.do_as_superuser(cluster.fs.rmtree, '/user/test1')
       assert_false(cluster.fs.exists('/user/test1'))
       response = c.post('/useradmin/users/new', dict(username="test1", password1='test', password2='test', ensure_home_directory=True))
       assert_true(cluster.fs.exists('/user/test1'))
@@ -789,6 +793,8 @@ class TestUserAdminWithHadoop(BaseUserAdminTests):
       assert_equal('40755', '%o' % dir_stat.mode)
 
       # Create a user, then add their home directory
+      if cluster.fs.exists('/user/test2'):
+        cluster.fs.do_as_superuser(cluster.fs.rmtree, '/user/test2')
       assert_false(cluster.fs.exists('/user/test2'))
       response = c.post('/useradmin/users/new', dict(username="test2", password1='test', password2='test'))
       assert_false(cluster.fs.exists('/user/test2'))

+ 1 - 1
apps/useradmin/src/useradmin/views.py

@@ -294,7 +294,7 @@ def edit_user(request, username=None):
       # Ensure home directory is created, if necessary.
       if form.cleaned_data.get('ensure_home_directory'):
         try:
-          ensure_home_directory(request.fs, instance.user)
+          ensure_home_directory(request.fs, instance)
         except (IOError, WebHdfsException), e:
           request.error(_('Cannot make home directory for user %s.') % instance.username)