Merge "Use tenant_usages_client from tempest-lib"
diff --git a/tempest/api_schema/response/compute/v2_1/tenant_usages.py b/tempest/api_schema/response/compute/v2_1/tenant_usages.py
deleted file mode 100644
index d51ef12..0000000
--- a/tempest/api_schema/response/compute/v2_1/tenant_usages.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2014 NEC Corporation.  All rights reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-
-import copy
-
-_server_usages = {
-    'type': 'array',
-    'items': {
-        'type': 'object',
-        'properties': {
-            'ended_at': {
-                'oneOf': [
-                    {'type': 'string'},
-                    {'type': 'null'}
-                ]
-            },
-            'flavor': {'type': 'string'},
-            'hours': {'type': 'number'},
-            'instance_id': {'type': 'string'},
-            'local_gb': {'type': 'integer'},
-            'memory_mb': {'type': 'integer'},
-            'name': {'type': 'string'},
-            'started_at': {'type': 'string'},
-            'state': {'type': 'string'},
-            'tenant_id': {'type': 'string'},
-            'uptime': {'type': 'integer'},
-            'vcpus': {'type': 'integer'},
-        },
-        'required': ['ended_at', 'flavor', 'hours', 'instance_id', 'local_gb',
-                     'memory_mb', 'name', 'started_at', 'state', 'tenant_id',
-                     'uptime', 'vcpus']
-    }
-}
-
-_tenant_usage_list = {
-    'type': 'object',
-    'properties': {
-        'server_usages': _server_usages,
-        'start': {'type': 'string'},
-        'stop': {'type': 'string'},
-        'tenant_id': {'type': 'string'},
-        'total_hours': {'type': 'number'},
-        'total_local_gb_usage': {'type': 'number'},
-        'total_memory_mb_usage': {'type': 'number'},
-        'total_vcpus_usage': {'type': 'number'},
-    },
-    'required': ['start', 'stop', 'tenant_id',
-                 'total_hours', 'total_local_gb_usage',
-                 'total_memory_mb_usage', 'total_vcpus_usage']
-}
-
-# 'required' of get_tenant is different from list_tenant's.
-_tenant_usage_get = copy.deepcopy(_tenant_usage_list)
-_tenant_usage_get['required'] = ['server_usages', 'start', 'stop', 'tenant_id',
-                                 'total_hours', 'total_local_gb_usage',
-                                 'total_memory_mb_usage', 'total_vcpus_usage']
-
-list_tenant_usage = {
-    'status_code': [200],
-    'response_body': {
-        'type': 'object',
-        'properties': {
-            'tenant_usages': {
-                'type': 'array',
-                'items': _tenant_usage_list
-            }
-        },
-        'required': ['tenant_usages']
-    }
-}
-
-get_tenant_usage = {
-    'status_code': [200],
-    'response_body': {
-        'type': 'object',
-        'properties': {
-            'tenant_usage': _tenant_usage_get
-        },
-        'required': ['tenant_usage']
-    }
-}
diff --git a/tempest/clients.py b/tempest/clients.py
index 37c8777..5883ac7 100644
--- a/tempest/clients.py
+++ b/tempest/clients.py
@@ -54,6 +54,8 @@
     SnapshotsClient as ComputeSnapshotsClient
 from tempest_lib.services.compute.tenant_networks_client import \
     TenantNetworksClient
+from tempest_lib.services.compute.tenant_usages_client import \
+    TenantUsagesClient
 from tempest_lib.services.identity.v2.token_client import TokenClient
 from tempest_lib.services.identity.v3.token_client import V3TokenClient
 
@@ -74,8 +76,6 @@
 from tempest.services.compute.json.server_groups_client import \
     ServerGroupsClient
 from tempest.services.compute.json.servers_client import ServersClient
-from tempest.services.compute.json.tenant_usages_client import \
-    TenantUsagesClient
 from tempest.services.compute.json.versions_client import VersionsClient
 from tempest.services.compute.json.volumes_client import \
     VolumesClient as ComputeVolumesClient
diff --git a/tempest/services/compute/json/tenant_usages_client.py b/tempest/services/compute/json/tenant_usages_client.py
deleted file mode 100644
index 73b4706..0000000
--- a/tempest/services/compute/json/tenant_usages_client.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2013 NEC Corporation
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-
-from oslo_serialization import jsonutils as json
-from six.moves.urllib import parse as urllib
-
-from tempest.api_schema.response.compute.v2_1 import tenant_usages as schema
-from tempest.common import service_client
-
-
-class TenantUsagesClient(service_client.ServiceClient):
-
-    def list_tenant_usages(self, **params):
-        url = 'os-simple-tenant-usage'
-        if params:
-            url += '?%s' % urllib.urlencode(params)
-
-        resp, body = self.get(url)
-        body = json.loads(body)
-        self.validate_response(schema.list_tenant_usage, resp, body)
-        return service_client.ResponseBody(resp, body)
-
-    def show_tenant_usage(self, tenant_id, **params):
-        url = 'os-simple-tenant-usage/%s' % tenant_id
-        if params:
-            url += '?%s' % urllib.urlencode(params)
-
-        resp, body = self.get(url)
-        body = json.loads(body)
-        self.validate_response(schema.get_tenant_usage, resp, body)
-        return service_client.ResponseBody(resp, body)
diff --git a/tempest/tests/services/compute/test_tenant_usages_client.py b/tempest/tests/services/compute/test_tenant_usages_client.py
deleted file mode 100644
index 58e0b7a..0000000
--- a/tempest/tests/services/compute/test_tenant_usages_client.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2015 NEC Corporation.  All rights reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-
-from tempest_lib.tests import fake_auth_provider
-
-from tempest.services.compute.json import tenant_usages_client
-from tempest.tests.services.compute import base
-
-
-class TestTenantUsagesClient(base.BaseComputeServiceTest):
-
-    FAKE_SERVER_USAGES = [{
-        "ended_at": None,
-        "flavor": "m1.tiny",
-        "hours": 1.0,
-        "instance_id": "1f1deceb-17b5-4c04-84c7-e0d4499c8fe0",
-        "local_gb": 1,
-        "memory_mb": 512,
-        "name": "new-server-test",
-        "started_at": "2012-10-08T20:10:44.541277",
-        "state": "active",
-        "tenant_id": "openstack",
-        "uptime": 3600,
-        "vcpus": 1
-        }]
-
-    FAKE_TENANT_USAGES = [{
-        "server_usages": FAKE_SERVER_USAGES,
-        "start": "2012-10-08T21:10:44.587336",
-        "stop": "2012-10-08T22:10:44.587336",
-        "tenant_id": "openstack",
-        "total_hours": 1,
-        "total_local_gb_usage": 1,
-        "total_memory_mb_usage": 512,
-        "total_vcpus_usage": 1
-        }]
-
-    def setUp(self):
-        super(TestTenantUsagesClient, self).setUp()
-        fake_auth = fake_auth_provider.FakeAuthProvider()
-        self.client = tenant_usages_client.TenantUsagesClient(
-            fake_auth, 'compute', 'regionOne')
-
-    def _test_list_tenant_usages(self, bytes_body=False):
-        self.check_service_client_function(
-            self.client.list_tenant_usages,
-            'tempest.common.service_client.ServiceClient.get',
-            {"tenant_usages": self.FAKE_TENANT_USAGES},
-            to_utf=bytes_body)
-
-    def test_list_tenant_usages_with_str_body(self):
-        self._test_list_tenant_usages()
-
-    def test_list_tenant_usages_with_bytes_body(self):
-        self._test_list_tenant_usages(bytes_body=True)
-
-    def _test_show_tenant_usage(self, bytes_body=False):
-        self.check_service_client_function(
-            self.client.show_tenant_usage,
-            'tempest.common.service_client.ServiceClient.get',
-            {"tenant_usage": self.FAKE_TENANT_USAGES[0]},
-            to_utf=bytes_body,
-            tenant_id='openstack')
-
-    def test_show_tenant_usage_with_str_body(self):
-        self._test_show_tenant_usage()
-
-    def test_show_tenant_usage_with_bytes_body(self):
-        self._test_show_tenant_usage(bytes_body=True)