def test_process_notification(self): info = list(notifications.Instance().process_notification( INSTANCE_CREATE_END))[0] for name, actual, expected in [ ('counter_name', info.name, 'instance'), ('counter_type', info.type, sample.TYPE_GAUGE), ('counter_volume', info.volume, 1), ('timestamp', info.timestamp, INSTANCE_CREATE_END['timestamp']), ('resource_id', info.resource_id, INSTANCE_CREATE_END['payload']['instance_id']), ('instance_type_id', info.resource_metadata['instance_type_id'], INSTANCE_CREATE_END['payload']['instance_type_id']), ('host', info.resource_metadata['host'], INSTANCE_CREATE_END['publisher_id']), ]: self.assertEqual(actual, expected, name)
def test_process_notification(self): # If we try to create a real RPC connection, init_host() never # returns. Mock it out so we can establish the manager # configuration. with patch('ceilometer.openstack.common.rpc.create_connection'): self.srv.start() self.srv.pipeline_manager.pipelines[0] = MagicMock() self.srv.notification_manager = test_manager.TestExtensionManager([ extension.Extension( 'test', None, None, notifications.Instance(), ), ]) self.srv.process_notification(TEST_NOTICE) self.assertTrue(self.srv.pipeline_manager.publisher.called)
def test_instance_resize_finish_instance(self): ic = notifications.Instance() counters = ic.process_notification(INSTANCE_FINISH_RESIZE_END) self.assertEqual(len(counters), 1) c = counters[0] self.assertEqual(c.volume, 1)
def test_instance_delete_flavor(self): ic = notifications.Instance() counters = ic.process_notification(INSTANCE_DELETE_START) self.assertEqual(len(counters), 1)
def test_instance_exists_flavor(self): ic = notifications.Instance() counters = ic.process_notification(INSTANCE_EXISTS) self.assertEqual(len(counters), 1)
def test_instance_create_instance(self): ic = notifications.Instance() counters = ic.process_notification(INSTANCE_CREATE_END) self.assertEqual(len(counters), 1) c = counters[0] self.assertEqual(c.volume, 1)
def _load_plugins(self): self.handlers['compute.instance.create.end'] = [ notifications.Instance(), ]