diff --git a/ceilometer/tests/hardware/pollsters/base.py b/ceilometer/tests/hardware/pollsters/base.py index 72240efab..2fa646356 100644 --- a/ceilometer/tests/hardware/pollsters/base.py +++ b/ceilometer/tests/hardware/pollsters/base.py @@ -40,6 +40,11 @@ class FakeInspector(inspector_base.Inspector): 'network.outgoing.errors': (1, net_metadata, {}), 'disk.size.total': (1000, disk_metadata, {}), 'disk.size.used': (90, disk_metadata, {}), + 'system_stats.cpu.idle': (62, {}, {}), + 'system_stats.io.outgoing.blocks': (100, {}, {}), + 'system_stats.io.incoming.blocks': (120, {}, {}), + 'network.ip.outgoing.datagrams': (200, {}, {}), + 'network.ip.incoming.datagrams': (300, {}, {}), } def inspect_generic(self, host, identifier, cache, extra_metadata=None): diff --git a/ceilometer/tests/hardware/pollsters/test_network_aggregated.py b/ceilometer/tests/hardware/pollsters/test_network_aggregated.py new file mode 100644 index 000000000..43885e41a --- /dev/null +++ b/ceilometer/tests/hardware/pollsters/test_network_aggregated.py @@ -0,0 +1,31 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from ceilometer.hardware.pollsters import network_aggregated +from ceilometer import sample +from ceilometer.tests.hardware.pollsters import base + + +class TestNetworkAggregatedPollsters(base.TestPollsterBase): + def test_incoming(self): + self._check_get_samples(network_aggregated. + NetworkAggregatedIPOutRequests, + 'hardware.network.ip.outgoing.datagrams', + 200, sample.TYPE_CUMULATIVE, + expected_unit='datagrams') + + def test_outgoing(self): + self._check_get_samples(network_aggregated. + NetworkAggregatedIPInReceives, + 'hardware.network.ip.incoming.datagrams', + 300, sample.TYPE_CUMULATIVE, + expected_unit='datagrams') diff --git a/ceilometer/tests/hardware/pollsters/test_system.py b/ceilometer/tests/hardware/pollsters/test_system.py new file mode 100644 index 000000000..971e8859f --- /dev/null +++ b/ceilometer/tests/hardware/pollsters/test_system.py @@ -0,0 +1,35 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from ceilometer.hardware.pollsters import system +from ceilometer import sample +from ceilometer.tests.hardware.pollsters import base + + +class TestSystemPollsters(base.TestPollsterBase): + def test_cpu_idle(self): + self._check_get_samples(system.SystemCpuIdlePollster, + 'hardware.system_stats.cpu.idle', + 62, sample.TYPE_GAUGE, + expected_unit='%') + + def test_io_outgoing(self): + self._check_get_samples(system.SystemIORawSentPollster, + 'hardware.system_stats.io.outgoing.blocks', + 100, sample.TYPE_CUMULATIVE, + expected_unit='blocks') + + def test_io_incoming(self): + self._check_get_samples(system.SystemIORawReceivedPollster, + 'hardware.system_stats.io.incoming.blocks', + 120, sample.TYPE_CUMULATIVE, + expected_unit='blocks')