Пример #1
0
 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])
Пример #2
0
 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],
         )
Пример #3
0
 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],
         )
Пример #4
0
 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],
         )