def test_statistics_list_simple(self): samples = [ { u'count': 135, u'duration_start': u'2013-02-04T10:51:42', u'min': 1.0, u'max': 1.0, u'duration_end': u'2013-02-05T15:46:09', u'duration': 1734.0, u'avg': 1.0, u'sum': 135.0 }, ] fields = [ 'period', 'period_start', 'period_end', 'max', 'min', 'avg', 'sum', 'count', 'duration', 'duration_start', 'duration_end', ] statistics_ret = [ statistics.Statistics(mock.Mock(), sample) for sample in samples ] self.cc.statistics.list.return_value = statistics_ret with mock.patch('ceilometerclient.v2.shell.utils.print_list') as pmock: ceilometer_shell.do_statistics(self.cc, self.args) pmock.assert_called_with(statistics_ret, fields, [self.displays[f] for f in fields])
def test_statistics_list_groupby(self): samples = [ {u'count': 135, u'duration_start': u'2013-02-04T10:51:42', u'min': 1.0, u'max': 1.0, u'duration_end': u'2013-02-05T15:46:09', u'duration': 1734.0, u'avg': 1.0, u'sum': 135.0, u'groupby': {u'resource_id': u'foo'} }, {u'count': 12, u'duration_start': u'2013-02-04T10:51:42', u'min': 1.0, u'max': 1.0, u'duration_end': u'2013-02-05T15:46:09', u'duration': 1734.0, u'avg': 1.0, u'sum': 12.0, u'groupby': {u'resource_id': u'bar'} }, ] fields = [ 'period', 'period_start', 'period_end', 'groupby', 'max', 'min', 'avg', 'sum', 'count', 'duration', 'duration_start', 'duration_end', ] self.args.groupby = 'resource_id' statistics_ret = [ statistics.Statistics(mock.Mock(), sample) for sample in samples ] self.cc.statistics.list.return_value = statistics_ret with mock.patch('ceilometerclient.v2.shell.utils.print_list') as pmock: ceilometer_shell.do_statistics(self.cc, self.args) pmock.assert_called_with( statistics_ret, fields, [self.displays[f] for f in fields], )
def test_statistics_list_aggregates(self): samples = [ { u'aggregate': { u'cardinality/resource_id': 4.0, u'count': 2.0 }, u'count': 2, u'duration': 0.442451, u'duration_end': u'2014-03-12T14:00:21.774154', u'duration_start': u'2014-03-12T14:00:21.331703', u'groupby': None, u'period': 0, u'period_end': u'2014-03-12T14:00:21.774154', u'period_start': u'2014-03-12T14:00:21.331703', u'unit': u'instance', }, ] fields = [ 'period', 'period_start', 'period_end', 'count', 'cardinality/resource_id', 'duration', 'duration_start', 'duration_end', ] self.args.aggregate = ['count', 'cardinality<-resource_id'] statistics_ret = [ statistics.Statistics(mock.Mock(), sample) for sample in samples ] self.cc.statistics.list.return_value = statistics_ret with mock.patch('ceilometerclient.v2.shell.utils.print_list') as pmock: ceilometer_shell.do_statistics(self.cc, self.args) pmock.assert_called_with( statistics_ret, fields, [self.displays.get(f, f) for f in fields], )
def test_statistics_list_aggregates(self): samples = [ {u'aggregate': {u'cardinality/resource_id': 4.0, u'count': 2.0}, u'count': 2, u'duration': 0.442451, u'duration_end': u'2014-03-12T14:00:21.774154', u'duration_start': u'2014-03-12T14:00:21.331703', u'groupby': None, u'period': 0, u'period_end': u'2014-03-12T14:00:21.774154', u'period_start': u'2014-03-12T14:00:21.331703', u'unit': u'instance', }, ] fields = [ 'period', 'period_start', 'period_end', 'count', 'cardinality/resource_id', 'duration', 'duration_start', 'duration_end', ] self.args.aggregate = ['count', 'cardinality<-resource_id'] statistics_ret = [ statistics.Statistics(mock.Mock(), sample) for sample in samples ] self.cc.statistics.list.return_value = statistics_ret with mock.patch('ceilometerclient.v2.shell.utils.print_list') as pmock: ceilometer_shell.do_statistics(self.cc, self.args) pmock.assert_called_with( statistics_ret, fields, [self.displays.get(f, f) for f in fields], )