From d16d853da6f6e43a26e2a80a613d9ca0208b727d Mon Sep 17 00:00:00 2001 From: liu-sheng Date: Thu, 25 Jun 2015 18:45:04 +0800 Subject: Add ceilometerclient support for api-no-pipeline * Add --direct flag for ceilometer sample-create and sample-create-list commands to support this feature * Add parameter for ceilometerclient.v2.samples.create() and ceilometerclient.v2 samples.create_list() to support this feature Partially implements: blueprint api-no-pipeline Change-Id: Ia3d787bbeaf360ddc198cb4ec183d83a5e76203a --- ceilometerclient/tests/unit/v2/test_samples.py | 31 ++++++++++++++++++++++++++ ceilometerclient/tests/unit/v2/test_shell.py | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) (limited to 'ceilometerclient/tests') diff --git a/ceilometerclient/tests/unit/v2/test_samples.py b/ceilometerclient/tests/unit/v2/test_samples.py index 9c79cd5..3a4cbd0 100644 --- a/ceilometerclient/tests/unit/v2/test_samples.py +++ b/ceilometerclient/tests/unit/v2/test_samples.py @@ -54,7 +54,9 @@ GET_SAMPLE = { } METER_URL = '/v2/meters/instance' +METER_URL_DIRECT = '/v2/meters/instance?direct=True' SECOND_METER_URL = '/v2/meters/image' +SECOND_METER_URL_DIRECT = '/v2/meters/image?direct=True' SAMPLE_URL = '/v2/samples' QUERIES = ('q.field=resource_id&q.field=source&q.op=&q.op=' '&q.type=&q.type=&q.value=foo&q.value=bar') @@ -71,12 +73,24 @@ OLD_SAMPLE_FIXTURES = { [CREATE_SAMPLE], ), }, + METER_URL_DIRECT: { + 'POST': ( + {}, + [CREATE_SAMPLE], + ) + }, SECOND_METER_URL: { 'POST': ( {}, [CREATE_LIST_SAMPLE] * 10, ), }, + SECOND_METER_URL_DIRECT: { + 'POST': ( + {}, + [CREATE_LIST_SAMPLE] * 10, + ) + }, '%s?%s' % (METER_URL, QUERIES): { 'GET': ( {}, @@ -156,6 +170,14 @@ class OldSampleManagerTest(utils.BaseTestCase): self.http_client.assert_called(*expect, body=[CREATE_SAMPLE]) self.assertIsNotNone(sample) + def test_create_directly(self): + sample = self.mgr.create(direct=True, **CREATE_SAMPLE) + expect = [ + 'POST', '/v2/meters/instance?direct=True' + ] + self.http_client.assert_called(*expect, body=[CREATE_SAMPLE]) + self.assertIsNotNone(sample) + def test_create_list(self): test_samples = [CREATE_LIST_SAMPLE] * 10 samples = self.mgr.create_list(test_samples) @@ -165,6 +187,15 @@ class OldSampleManagerTest(utils.BaseTestCase): self.http_client.assert_called(*expect, body=test_samples) self.assertEqual(10, len(samples)) + def test_create_list_directly(self): + test_samples = [CREATE_LIST_SAMPLE] * 10 + samples = self.mgr.create_list(test_samples, direct=True) + expect = [ + 'POST', '/v2/meters/image?direct=True' + ] + self.http_client.assert_called(*expect, body=test_samples) + self.assertEqual(10, len(samples)) + def test_limit(self): samples = list(self.mgr.list(meter_name='instance', limit=1)) expect = ['GET', '/v2/meters/instance?limit=1'] diff --git a/ceilometerclient/tests/unit/v2/test_shell.py b/ceilometerclient/tests/unit/v2/test_shell.py index c4a61a8..7a998d2 100644 --- a/ceilometerclient/tests/unit/v2/test_shell.py +++ b/ceilometerclient/tests/unit/v2/test_shell.py @@ -617,7 +617,8 @@ class ShellSampleCreateListCommandTest(utils.BaseTestCase): sample) for sample in self.samples] self.cc.samples.create_list.return_value = ret_samples ceilometer_shell.do_sample_create_list(self.cc, self.args) - self.cc.samples.create_list.assert_called_with(self.samples) + self.cc.samples.create_list.assert_called_with(self.samples, + direct=mock.ANY) self.assertEqual('''\ +--------------------------------------+-------+------------+--------+-------\ +----------------------------+ -- cgit v1.2.1