def test_publisher_publish(self, mapping_patch): self.CONF.set_override('batch_mode', False, group='monasca') publisher = mon_publisher.MonascaPublisher(self.CONF, self.parsed_url) publisher.mon_client = mock.MagicMock() with mock.patch.object(publisher.mon_client, 'metrics_create') as mock_create: mock_create.return_value = FakeResponse(204) publisher.publish_samples(self.test_data) self.assertEqual(3, mock_create.call_count) self.assertEqual(1, mapping_patch.called)
def test_publisher_archival_on_failure(self, mapping_patch): self.CONF.set_override('archive_on_failure', True, group='monasca') self.CONF.set_override('batch_mode', False, group='monasca') self.fake_publisher = mock.Mock() self.useFixture( fixtures.MockPatch('ceilometer.publisher.file.FilePublisher', return_value=self.fake_publisher)) publisher = mon_publisher.MonascaPublisher(self.CONF, self.parsed_url) publisher.mon_client = mock.MagicMock() with mock.patch.object(publisher.mon_client, 'metrics_create') as mock_create: mock_create.side_effect = Exception metrics_archiver = self.fake_publisher.publish_samples publisher.publish_samples(self.test_data) self.assertEqual(1, metrics_archiver.called) self.assertEqual(3, metrics_archiver.call_count)
def test_publisher_batch_retry(self, mapping_patch): self.CONF.set_override('batch_mode', True, group='monasca') self.CONF.set_override('batch_count', 3, group='monasca') self.CONF.set_override('batch_polling_interval', 1, group='monasca') self.CONF.set_override('retry_on_failure', True, group='monasca') self.CONF.set_override('retry_interval', 2, group='monasca') self.CONF.set_override('max_retries', 1, group='monasca') publisher = mon_publisher.MonascaPublisher(self.CONF, self.parsed_url) publisher.mon_client = mock.MagicMock() with mock.patch.object(publisher.mon_client, 'metrics_create') as mock_create: raise_http_error = [False, False, False, True] mock_create.side_effect = self.create_side_effect( mon_client.MonascaServiceException, raise_http_error) publisher.publish_samples(self.test_data) time.sleep(60) self.assertEqual(4, mock_create.call_count) self.assertEqual(1, mapping_patch.called)