Tests for system and network aggregate pollsters

In hardware pollsters, no test is available for
verifying systems statistics and network aggregate
related meters. This patch adds tests for both.

Change-Id: I57a66181622be3f27b5d0e6e3e446df159db84a0
Closes-Bug: #1390786
This commit is contained in:
Samta 2014-11-10 19:04:34 +05:30
parent 6fde045959
commit 315da40808
3 changed files with 71 additions and 0 deletions

View File

@ -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):

View File

@ -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')

View File

@ -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')