From 43959ac4aa29a0fa130019533f8848ef7853d2cf Mon Sep 17 00:00:00 2001 From: Kainami Takashi Date: Mon, 12 Aug 2024 15:05:24 +0900 Subject: [PATCH] Redis: Add password to URL environment (#172) This is follow-up of d37bae254a627c0aef2e760b697336080193681f and ensures the password value is included in the url, presented by the URL environment, so that the value can be looked up. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- pifpaf/drivers/redis.py | 5 ++++- pifpaf/tests/test_drivers.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pifpaf/drivers/redis.py b/pifpaf/drivers/redis.py index fcaeef7..46f49f0 100644 --- a/pifpaf/drivers/redis.py +++ b/pifpaf/drivers/redis.py @@ -86,5 +86,8 @@ def _setUp(self): str(self.sentinel_port)) self.putenv("REDIS_PORT", str(self.port)) - self.url = "redis://localhost:%d" % self.port + if self.password: + self.url = "redis://:%s@localhost:%d" % (self.password, self.port) + else: + self.url = "redis://localhost:%d" % self.port self.putenv("URL", self.url) diff --git a/pifpaf/tests/test_drivers.py b/pifpaf/tests/test_drivers.py index 9dcf8d6..4aedf74 100644 --- a/pifpaf/tests/test_drivers.py +++ b/pifpaf/tests/test_drivers.py @@ -279,7 +279,7 @@ def test_redis(self): def test_redis_with_password(self): port = 6384 f = self.useFixture(redis.RedisDriver(port=port, password='secrete')) - self.assertEqual("redis://localhost:%d" % port, + self.assertEqual("redis://:secrete@localhost:%d" % port, os.getenv("PIFPAF_URL")) self.assertEqual(str(port), os.getenv("PIFPAF_REDIS_PORT")) self._run("redis-cli -p %d -a secrete llen pifpaf" % f.port) @@ -302,7 +302,7 @@ def test_redis_sentinel_with_password(self): port = 6385 f = self.useFixture(redis.RedisDriver(sentinel=True, port=port, password='secrete')) - self.assertEqual("redis://localhost:%d" % port, + self.assertEqual("redis://:secrete@localhost:%d" % port, os.getenv("PIFPAF_URL")) self.assertEqual(str(port), os.getenv("PIFPAF_REDIS_PORT")) self.assertEqual("6380", os.getenv("PIFPAF_REDIS_SENTINEL_PORT"))