diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-06-12 23:32:49 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-06-12 23:32:49 +0000 |
| commit | c55b060cf97c0a7e7f586990714733e5adeb7ef5 (patch) | |
| tree | eda1236b9ed62ddfb6cfb94dd41ae35fa90541b6 | |
| parent | 098ef3735d878f96dd2e4b383ed8bc66898aaaa4 (diff) | |
| parent | 20975b5e506ae0b47d8c20b3449c02d187668238 (diff) | |
Merge "Enhance unit test code coverage for availability zone"
| -rw-r--r-- | nova/tests/test_availability_zones.py | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/nova/tests/test_availability_zones.py b/nova/tests/test_availability_zones.py index eefa1daf8..3923dd9a1 100644 --- a/nova/tests/test_availability_zones.py +++ b/nova/tests/test_availability_zones.py @@ -59,6 +59,10 @@ class AvailabilityZoneTestCases(test.TestCase): return agg + def _update_az(self, aggregate, az_name): + metadata = {'availability_zone': az_name} + db.aggregate_update(self.context, aggregate['id'], metadata) + def _create_service_with_topic(self, topic, host, disabled=False): values = { 'binary': 'bin', @@ -77,7 +81,7 @@ class AvailabilityZoneTestCases(test.TestCase): def _delete_from_aggregate(self, service, aggregate): return db.aggregate_host_delete(self.context, - self.aggregate['id'], service['host']) + aggregate['id'], service['host']) def test_set_availability_zone_compute_service(self): """Test for compute service get right availability zone.""" @@ -119,6 +123,37 @@ class AvailabilityZoneTestCases(test.TestCase): self.assertEquals(self.availability_zone, az.get_host_availability_zone(self.context, self.host)) + def test_update_host_availability_zone(self): + """Test availability zone could be update by given host.""" + service = self._create_service_with_topic('compute', self.host) + + # Create a new aggregate with an AZ and add the host to the AZ + az_name = 'az1' + agg_az1 = self._create_az('agg-az1', az_name) + self._add_to_aggregate(service, agg_az1) + self.assertEquals(az_name, + az.get_host_availability_zone(self.context, self.host)) + # Update AZ + new_az_name = 'az2' + self._update_az(agg_az1, new_az_name) + self.assertEquals(new_az_name, + az.get_host_availability_zone(self.context, self.host)) + + def test_delete_host_availability_zone(self): + """Test availability zone could be deleted successfully.""" + service = self._create_service_with_topic('compute', self.host) + + # Create a new aggregate with an AZ and add the host to the AZ + az_name = 'az1' + agg_az1 = self._create_az('agg-az1', az_name) + self._add_to_aggregate(service, agg_az1) + self.assertEquals(az_name, + az.get_host_availability_zone(self.context, self.host)) + # Delete the AZ via deleting the aggregate + self._delete_from_aggregate(service, agg_az1) + self.assertEquals(self.default_az, + az.get_host_availability_zone(self.context, self.host)) + def test_get_availability_zones(self): """Test get_availability_zones.""" |
