Add a new SDL storage API function 'is_active()'
[ric-plt/sdlpy.git] / ricsdl-package / tests / backend / test_redis.py
index 61b56ff..4f46205 100644 (file)
@@ -72,6 +72,23 @@ def redis_backend_fixture(request):
 
 @pytest.mark.usefixtures('redis_backend_fixture')
 class TestRedisBackend:
+    def test_is_connected_function_success(self):
+        self.mock_redis.ping.return_value = True
+        ret = self.db.is_connected()
+        self.mock_redis.ping.assert_called_once()
+        assert ret is True
+
+    def test_is_connected_function_returns_false_if_ping_fails(self):
+        self.mock_redis.ping.return_value = False
+        ret = self.db.is_connected()
+        self.mock_redis.ping.assert_called_once()
+        assert ret is False
+
+    def test_is_connected_function_can_map_redis_exception_to_sdl_exception(self):
+        self.mock_redis.ping.side_effect = redis_exceptions.ResponseError('redis error!')
+        with pytest.raises(ricsdl.exceptions.RejectedByBackend):
+            self.db.is_connected()
+
     def test_set_function_success(self):
         self.db.set(self.ns, self.dm)
         self.mock_redis.mset.assert_called_once_with(self.dm_redis)