Add XML support for test_images.py

Change-Id: I8f41396bb6d870299dba0a2a07b21748211ccb70
diff --git a/tempest/tests/compute/test_images.py b/tempest/tests/compute/test_images.py
index 3dde19f..c969a0c 100644
--- a/tempest/tests/compute/test_images.py
+++ b/tempest/tests/compute/test_images.py
@@ -22,31 +22,11 @@
 import tempest.config
 from tempest import exceptions
 from tempest import openstack
-from tempest.tests.compute.base import BaseComputeTest
+from tempest.tests.compute import base
 from tempest.tests import compute
 
 
-class ImagesTest(BaseComputeTest):
-
-    @classmethod
-    def setUpClass(cls):
-        super(ImagesTest, cls).setUpClass()
-        cls.client = cls.images_client
-        cls.servers_client = cls.servers_client
-
-        cls.image_ids = []
-
-        if compute.MULTI_USER:
-            if cls.config.compute.allow_tenant_isolation:
-                creds = cls._get_isolated_creds()
-                username, tenant_name, password = creds
-                cls.alt_manager = openstack.Manager(username=username,
-                                                    password=password,
-                                                    tenant_name=tenant_name)
-            else:
-                # Use the alt_XXX credentials in the config file
-                cls.alt_manager = openstack.AltManager()
-            cls.alt_client = cls.alt_manager.images_client
+class ImagesTestBase(object):
 
     def tearDown(self):
         """Terminate test instances created after a test is executed"""
@@ -392,3 +372,55 @@
         self.image_ids.remove(image_id)
 
         self.assertRaises(exceptions.NotFound, self.client.get_image, image_id)
+
+
+class ImagesTestJSON(base.BaseComputeTestJSON,
+                     ImagesTestBase):
+    def tearDown(self):
+        ImagesTestBase.tearDown(self)
+
+    @classmethod
+    def setUpClass(cls):
+        super(ImagesTestJSON, cls).setUpClass()
+        cls.client = cls.images_client
+        cls.servers_client = cls.servers_client
+
+        cls.image_ids = []
+
+        if compute.MULTI_USER:
+            if cls.config.compute.allow_tenant_isolation:
+                creds = cls._get_isolated_creds()
+                username, tenant_name, password = creds
+                cls.alt_manager = openstack.Manager(username=username,
+                                                    password=password,
+                                                    tenant_name=tenant_name)
+            else:
+                # Use the alt_XXX credentials in the config file
+                cls.alt_manager = openstack.AltManager()
+            cls.alt_client = cls.alt_manager.images_client
+
+
+class ImagesTestXML(base.BaseComputeTestXML,
+                    ImagesTestBase):
+    def tearDown(self):
+        ImagesTestBase.tearDown(self)
+
+    @classmethod
+    def setUpClass(cls):
+        super(ImagesTestXML, cls).setUpClass()
+        cls.client = cls.images_client
+        cls.servers_client = cls.servers_client
+
+        cls.image_ids = []
+
+        if compute.MULTI_USER:
+            if cls.config.compute.allow_tenant_isolation:
+                creds = cls._get_isolated_creds()
+                username, tenant_name, password = creds
+                cls.alt_manager = openstack.Manager(username=username,
+                                                    password=password,
+                                                    tenant_name=tenant_name)
+            else:
+                # Use the alt_XXX credentials in the config file
+                cls.alt_manager = openstack.AltManager()
+            cls.alt_client = cls.alt_manager.images_client