def test_ping_returns_false_if_unavailable_in_readonly_mode(self): request = DummyRequest() request.headers['Authorization'] = 'Basic bWF0OjI=' request.registry.settings = {'readonly': 'true'} ping = heartbeat(self.storage) with mock.patch.object(self.storage, 'get_all', side_effect=exceptions.BackendError("Boom!")): self.assertFalse(ping(request))
def test_ping_returns_true_when_working(self): request = DummyRequest() request.headers['Authorization'] = 'Basic bWF0OjI=' ping = heartbeat(self.storage) with mock.patch('cliquet.storage.random.random', return_value=0.7): self.assertTrue(ping(request)) with mock.patch('cliquet.storage.random.random', return_value=0.5): self.assertTrue(ping(request))
def test_ping_logs_error_if_unavailable(self): request = DummyRequest() self.client_error_patcher.start() ping = heartbeat(self.storage) with mock.patch('cliquet.storage.logger.exception') as exc_handler: self.assertFalse(ping(request)) self.assertTrue(exc_handler.called)
def test_ping_returns_false_if_unavailable(self): request = DummyRequest() request.headers['Authorization'] = self.storage_kw['auth'] request.registry.settings = {'readonly': 'false'} ping = heartbeat(self.storage) with mock.patch('cliquet.storage.random.random', return_value=0.7): ping(request) self.client_error_patcher.start() with mock.patch('cliquet.storage.random.random', return_value=0.7): self.assertFalse(ping(request)) with mock.patch('cliquet.storage.random.random', return_value=0.5): self.assertFalse(ping(request))
def setup_storage(config): settings = config.get_settings() id_generator = config.maybe_dotted(settings['id_generator']) config.registry.id_generator = id_generator() storage_mod = settings['storage_backend'] if not storage_mod: return storage_mod = config.maybe_dotted(storage_mod) backend = storage_mod.load_from_config(config) if not isinstance(backend, storage.StorageBase): raise ConfigurationError("Invalid storage backend: %s" % backend) config.registry.storage = backend heartbeat = storage.heartbeat(backend) config.registry.heartbeats['storage'] = heartbeat
def test_ping_returns_true_when_working_in_readonly_mode(self): request = DummyRequest() request.headers['Authorization'] = 'Basic bWF0OjI=' request.registry.settings = {'readonly': 'true'} ping = heartbeat(self.storage) self.assertTrue(ping(request))