Allow user to be disabled

When a user is disabled users_clients.list_users() is called.
In the above method it is assumed that they are looking in the domain
that is specified in the tempest.conf.  In test_users_negative.py. The
user are created in the default domain.  To fix this we need to passed
the domain_id to list_user to get the user in the correct domain.

Change-Id: I348600da7c7c12e0dcbfcf6f4e376e2950b31a5f
Closes-Bug: #1549044
diff --git a/tempest/api/identity/admin/v3/test_users_negative.py b/tempest/api/identity/admin/v3/test_users_negative.py
index 9dd477b..9bc4b9c 100644
--- a/tempest/api/identity/admin/v3/test_users_negative.py
+++ b/tempest/api/identity/admin/v3/test_users_negative.py
@@ -39,7 +39,7 @@
     def test_authentication_for_disabled_user(self):
         # Attempt to authenticate for disabled user should fail
         self.data.setup_test_user()
-        self.disable_user(self.data.user['name'])
+        self.disable_user(self.data.user['name'], self.data.user['domain_id'])
         self.assertRaises(lib_exc.Unauthorized, self.token.auth,
                           username=self.data.user['name'],
                           password=self.data.user_password,
diff --git a/tempest/api/identity/base.py b/tempest/api/identity/base.py
index 1025de7..46dcb83 100644
--- a/tempest/api/identity/base.py
+++ b/tempest/api/identity/base.py
@@ -37,8 +37,12 @@
         cls.tenants_client.update_tenant(tenant['id'], enabled=False)
 
     @classmethod
-    def get_user_by_name(cls, name):
-        users = cls.users_client.list_users()['users']
+    def get_user_by_name(cls, name, domain_id=None):
+        if domain_id:
+            params = {'domain_id': domain_id}
+            users = cls.users_client.list_users(params)['users']
+        else:
+            users = cls.users_client.list_users()['users']
         user = [u for u in users if u['name'] == name]
         if len(user) > 0:
             return user[0]
@@ -175,8 +179,8 @@
             return role[0]
 
     @classmethod
-    def disable_user(cls, user_name):
-        user = cls.get_user_by_name(user_name)
+    def disable_user(cls, user_name, domain_id=None):
+        user = cls.get_user_by_name(user_name, domain_id)
         cls.users_client.update_user(user['id'], user_name, enabled=False)
 
     def delete_domain(self, domain_id):