summaryrefslogtreecommitdiffstats
path: root/nova/tests/api/openstack/compute/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/api/openstack/compute/contrib')
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_availability_zone.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py51
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_security_groups.py2
3 files changed, 50 insertions, 4 deletions
diff --git a/nova/tests/api/openstack/compute/contrib/test_availability_zone.py b/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
index 2ccb9fa31..0b63960ce 100644
--- a/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
+++ b/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
@@ -76,6 +76,7 @@ def fake_set_availability_zones(context, services):
class AvailabilityZoneApiTest(test.TestCase):
def setUp(self):
super(AvailabilityZoneApiTest, self).setUp()
+ availability_zones._reset_cache()
self.stubs.Set(db, 'service_get_all', fake_service_get_all)
self.stubs.Set(availability_zones, 'set_availability_zones',
fake_set_availability_zones)
diff --git a/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py b/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py
index 814c0fff4..59d60acf2 100644
--- a/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py
+++ b/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py
@@ -19,6 +19,7 @@ import webob
from nova.api.openstack.compute.contrib import extended_availability_zone
from nova import availability_zones
from nova import compute
+from nova.compute import vm_states
from nova import exception
from nova.openstack.common import jsonutils
from nova import test
@@ -29,14 +30,31 @@ UUID2 = '00000000-0000-0000-0000-000000000002'
UUID3 = '00000000-0000-0000-0000-000000000003'
+def fake_compute_get_az(*args, **kwargs):
+ inst = fakes.stub_instance(1, uuid=UUID3, host="get-host",
+ vm_state=vm_states.ACTIVE,
+ availability_zone='fakeaz')
+ return inst
+
+
+def fake_compute_get_empty(*args, **kwargs):
+ inst = fakes.stub_instance(1, uuid=UUID3, host="",
+ vm_state=vm_states.ACTIVE,
+ availability_zone='fakeaz')
+ return inst
+
+
def fake_compute_get(*args, **kwargs):
- inst = fakes.stub_instance(1, uuid=UUID3, host="get-host")
+ inst = fakes.stub_instance(1, uuid=UUID3, host="get-host",
+ vm_state=vm_states.ACTIVE)
return inst
def fake_compute_get_all(*args, **kwargs):
- inst1 = fakes.stub_instance(1, uuid=UUID1, host="all-host")
- inst2 = fakes.stub_instance(2, uuid=UUID2, host="all-host")
+ inst1 = fakes.stub_instance(1, uuid=UUID1, host="all-host",
+ vm_state=vm_states.ACTIVE)
+ inst2 = fakes.stub_instance(2, uuid=UUID2, host="all-host",
+ vm_state=vm_states.ACTIVE)
return [inst1, inst2]
@@ -44,12 +62,17 @@ def fake_get_host_availability_zone(context, host):
return host
+def fake_get_no_host_availability_zone(context, host):
+ return None
+
+
class ExtendedServerAttributesTest(test.TestCase):
content_type = 'application/json'
prefix = 'OS-EXT-AZ:'
def setUp(self):
super(ExtendedServerAttributesTest, self).setUp()
+ availability_zones._reset_cache()
fakes.stub_out_nw_api(self.stubs)
self.stubs.Set(compute.api.API, 'get', fake_compute_get)
self.stubs.Set(compute.api.API, 'get_all', fake_compute_get_all)
@@ -77,6 +100,28 @@ class ExtendedServerAttributesTest(test.TestCase):
self.assertEqual(server.get('%savailability_zone' % self.prefix),
az)
+ def test_show_no_host_az(self):
+ self.stubs.Set(compute.api.API, 'get', fake_compute_get_az)
+ self.stubs.Set(availability_zones, 'get_host_availability_zone',
+ fake_get_no_host_availability_zone)
+
+ url = '/v2/fake/servers/%s' % UUID3
+ res = self._make_request(url)
+
+ self.assertEqual(res.status_int, 200)
+ self.assertServerAttributes(self._get_server(res.body), 'fakeaz')
+
+ def test_show_empty_host_az(self):
+ self.stubs.Set(compute.api.API, 'get', fake_compute_get_empty)
+ self.stubs.Set(availability_zones, 'get_host_availability_zone',
+ fake_get_no_host_availability_zone)
+
+ url = '/v2/fake/servers/%s' % UUID3
+ res = self._make_request(url)
+
+ self.assertEqual(res.status_int, 200)
+ self.assertServerAttributes(self._get_server(res.body), 'fakeaz')
+
def test_show(self):
url = '/v2/fake/servers/%s' % UUID3
res = self._make_request(url)
diff --git a/nova/tests/api/openstack/compute/contrib/test_security_groups.py b/nova/tests/api/openstack/compute/contrib/test_security_groups.py
index f1433bd0a..ac3e8885d 100644
--- a/nova/tests/api/openstack/compute/contrib/test_security_groups.py
+++ b/nova/tests/api/openstack/compute/contrib/test_security_groups.py
@@ -716,7 +716,7 @@ class TestSecurityGroupRules(test.TestCase):
db1 = security_group_db(self.sg1)
db2 = security_group_db(self.sg2)
- def return_security_group(context, group_id):
+ def return_security_group(context, group_id, columns_to_join=None):
if group_id == db1['id']:
return db1
if group_id == db2['id']: