Skip to content

Commit

Permalink
Import is_service_enabled from module
Browse files Browse the repository at this point in the history
An additional step for H302, and needed here to make mocking
is_service_enabled across modules more consistent and easier
(e.g. mocking only one signature as opposed to both
api.base.is_service_enabled and quotas.is_service_enabled).

Partial-Bug: #1109140

Change-Id: Ie6cec3138de6f2fc57b68e90db45f53bb94ab87d
  • Loading branch information
jpichon committed Aug 27, 2013
1 parent a34cf0f commit 065786c
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 deletions.
2 changes: 2 additions & 0 deletions openstack_dashboard/dashboards/admin/info/tests.py
Expand Up @@ -93,6 +93,8 @@ def test_index_with_neutron_disabled(self):
# Neutron does not have an API for getting default system
# quotas. When not using Neutron, the floating ips quotas
# should be in the list.
api.base.is_service_enabled(IsA(http.HttpRequest), 'volume') \
.AndReturn(True)
api.base.is_service_enabled(IsA(http.HttpRequest), 'network') \
.AndReturn(False)

Expand Down
22 changes: 11 additions & 11 deletions openstack_dashboard/test/tests/quotas.py
Expand Up @@ -33,7 +33,7 @@
class QuotaTests(test.APITestCase):

def get_usages(self, with_volume=True):
quotas = {'injected_file_content_bytes': {'quota': 1},
usages = {'injected_file_content_bytes': {'quota': 1},
'metadata_items': {'quota': 1},
'injected_files': {'quota': 1},
'security_groups': {'quota': 10},
Expand All @@ -44,25 +44,25 @@ def get_usages(self, with_volume=True):
'instances': {'available': 8, 'used': 2, 'quota': 10},
'cores': {'available': 8, 'used': 2, 'quota': 10}}
if with_volume:
quotas.update({'volumes': {'available': 0, 'used': 3, 'quota': 1},
usages.update({'volumes': {'available': 0, 'used': 3, 'quota': 1},
'snapshots': {'available': 0, 'used': 3,
'quota': 1},
'gigabytes': {'available': 920, 'used': 80,
'quota': 1000}})
return quotas
return usages

@test.create_stubs({api.nova: ('server_list',
'flavor_list',
'tenant_quota_get',),
api.network: ('tenant_floating_ip_list',),
quotas: ('is_service_enabled',),
api.base: ('is_service_enabled',),
cinder: ('volume_list', 'volume_snapshot_list',
'tenant_quota_get',)})
def test_tenant_quota_usages(self):
servers = [s for s in self.servers.list()
if s.tenant_id == self.request.user.tenant_id]

quotas.is_service_enabled(IsA(http.HttpRequest),
api.base.is_service_enabled(IsA(http.HttpRequest),
'volume').AndReturn(True)
api.nova.flavor_list(IsA(http.HttpRequest)) \
.AndReturn(self.flavors.list())
Expand Down Expand Up @@ -91,12 +91,12 @@ def test_tenant_quota_usages(self):
'flavor_list',
'tenant_quota_get',),
api.network: ('tenant_floating_ip_list',),
quotas: ('is_service_enabled',)})
api.base: ('is_service_enabled',)})
def test_tenant_quota_usages_without_volume(self):
servers = [s for s in self.servers.list()
if s.tenant_id == self.request.user.tenant_id]

quotas.is_service_enabled(IsA(http.HttpRequest),
api.base.is_service_enabled(IsA(http.HttpRequest),
'volume').AndReturn(False)
api.nova.flavor_list(IsA(http.HttpRequest)) \
.AndReturn(self.flavors.list())
Expand All @@ -119,9 +119,9 @@ def test_tenant_quota_usages_without_volume(self):
'flavor_list',
'tenant_quota_get',),
api.network: ('tenant_floating_ip_list',),
quotas: ('is_service_enabled',)})
api.base: ('is_service_enabled',)})
def test_tenant_quota_usages_no_instances_running(self):
quotas.is_service_enabled(IsA(http.HttpRequest),
api.base.is_service_enabled(IsA(http.HttpRequest),
'volume').AndReturn(False)
api.nova.flavor_list(IsA(http.HttpRequest)) \
.AndReturn(self.flavors.list())
Expand Down Expand Up @@ -149,7 +149,7 @@ def test_tenant_quota_usages_no_instances_running(self):
'flavor_list',
'tenant_quota_get',),
api.network: ('tenant_floating_ip_list',),
quotas: ('is_service_enabled',),
api.base: ('is_service_enabled',),
cinder: ('volume_list', 'volume_snapshot_list',
'tenant_quota_get',)})
def test_tenant_quota_usages_unlimited_quota(self):
Expand All @@ -158,7 +158,7 @@ def test_tenant_quota_usages_unlimited_quota(self):
servers = [s for s in self.servers.list()
if s.tenant_id == self.request.user.tenant_id]

quotas.is_service_enabled(IsA(http.HttpRequest),
api.base.is_service_enabled(IsA(http.HttpRequest),
'volume').AndReturn(True)
api.nova.flavor_list(IsA(http.HttpRequest)) \
.AndReturn(self.flavors.list())
Expand Down
7 changes: 3 additions & 4 deletions openstack_dashboard/usage/quotas.py
Expand Up @@ -4,8 +4,7 @@
from horizon import exceptions
from horizon.utils.memoized import memoized # noqa

from openstack_dashboard.api.base import is_service_enabled # noqa
from openstack_dashboard.api.base import QuotaSet # noqa
from openstack_dashboard.api import base
from openstack_dashboard.api import cinder
from openstack_dashboard.api import network
from openstack_dashboard.api import nova
Expand Down Expand Up @@ -78,7 +77,7 @@ def _get_quota_data(request, method_name, disabled_quotas=None,
if not tenant_id:
tenant_id = request.user.tenant_id
quotasets.append(getattr(nova, method_name)(request, tenant_id))
qs = QuotaSet()
qs = base.QuotaSet()
if disabled_quotas is None:
disabled_quotas = get_disabled_quotas(request)
if 'volumes' not in disabled_quotas:
Expand All @@ -105,7 +104,7 @@ def get_tenant_quota_data(request, disabled_quotas=None, tenant_id=None):

def get_disabled_quotas(request):
disabled_quotas = []
if not is_service_enabled(request, 'volume'):
if not base.is_service_enabled(request, 'volume'):
disabled_quotas.extend(CINDER_QUOTA_FIELDS)
return disabled_quotas

Expand Down

0 comments on commit 065786c

Please sign in to comment.