diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-06-19 16:56:09 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-06-19 16:56:09 +0000 |
| commit | 635f8e137b4e311fbf5d2b248148a72c4359c44c (patch) | |
| tree | 6a414cd490c0ffd1d4bf8f4f17017a15ca31ccdd | |
| parent | 225f6f21b1f4158e635f06b4d040b41fa21be09d (diff) | |
| parent | 468e64d019f51d364afb30b0eed2ad09483e0b98 (diff) | |
| download | nova-635f8e137b4e311fbf5d2b248148a72c4359c44c.tar.gz nova-635f8e137b4e311fbf5d2b248148a72c4359c44c.tar.xz nova-635f8e137b4e311fbf5d2b248148a72c4359c44c.zip | |
Merge "Fix missing import in compute/utils.py"
| -rw-r--r-- | nova/compute/utils.py | 1 | ||||
| -rw-r--r-- | nova/tests/test_compute_utils.py | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/nova/compute/utils.py b/nova/compute/utils.py index 67a174f51..d5905f7e7 100644 --- a/nova/compute/utils.py +++ b/nova/compute/utils.py @@ -17,6 +17,7 @@ """Compute-related Utilities and helpers.""" from nova import db +from nova import exception from nova import flags from nova import log from nova.network import model as network_model diff --git a/nova/tests/test_compute_utils.py b/nova/tests/test_compute_utils.py index 5fbf2e80c..50c85073f 100644 --- a/nova/tests/test_compute_utils.py +++ b/nova/tests/test_compute_utils.py @@ -112,3 +112,29 @@ class UsageInfoTestCase(test.TestCase): image_ref_url = "%s/images/1" % utils.generate_glance_url() self.assertEquals(payload['image_ref_url'], image_ref_url) self.compute.terminate_instance(self.context, instance['uuid']) + + def test_notify_usage_exists_instance_not_found(self): + """Ensure 'exists' notification generates appropriate usage data.""" + instance_id = self._create_instance() + instance = db.instance_get(self.context, instance_id) + self.compute.terminate_instance(self.context, instance['uuid']) + compute_utils.notify_usage_exists(self.context, instance) + msg = test_notifier.NOTIFICATIONS[-1] + self.assertEquals(msg['priority'], 'INFO') + self.assertEquals(msg['event_type'], 'compute.instance.exists') + payload = msg['payload'] + self.assertEquals(payload['tenant_id'], self.project_id) + self.assertEquals(payload['user_id'], self.user_id) + self.assertEquals(payload['instance_id'], instance.uuid) + self.assertEquals(payload['instance_type'], 'm1.tiny') + type_id = instance_types.get_instance_type_by_name('m1.tiny')['id'] + self.assertEquals(str(payload['instance_type_id']), str(type_id)) + for attr in ('display_name', 'created_at', 'launched_at', + 'state', 'state_description', + 'bandwidth', 'audit_period_beginning', + 'audit_period_ending', 'image_meta'): + self.assertTrue(attr in payload, + msg="Key %s not in payload" % attr) + self.assertEquals(payload['image_meta'], {}) + image_ref_url = "%s/images/1" % utils.generate_glance_url() + self.assertEquals(payload['image_ref_url'], image_ref_url) |
