From 13f1e059de6662cb85d3186045bd05a31bd963f2 Mon Sep 17 00:00:00 2001 From: lucas-m-ribeiro Date: Sat, 26 Oct 2024 11:57:57 -0300 Subject: [PATCH 1/7] feat: add new method disconnect_to_redis --- RedisLibrary/RedisLibraryKeywords.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/RedisLibrary/RedisLibraryKeywords.py b/RedisLibrary/RedisLibraryKeywords.py index e06a0f9..0b1d013 100644 --- a/RedisLibrary/RedisLibraryKeywords.py +++ b/RedisLibrary/RedisLibraryKeywords.py @@ -582,3 +582,20 @@ def delete_item_from_list_redis(self, redis_conn, list_name, index, item=None): raise AssertionError redis_conn.lset(list_name, index, 'DELETE_ITEM') redis_conn.lrem(list_name, 1, 'DELETE_ITEM') + + @keyword('Disconnect to Redis') + def disconnect_to_redis(self, redis_conn): + """Securely disconnect from Redis database. + + Arguments: + - redis_conn: Redis connection object + + Examples: + | Disconnect from Redis | ${redis_conn} | + """ + try: + redis_conn.close() + logger.info("Disconnection successful") + except Exception as ex: + logger.error("Failed to disconnect:"(ex)) + raise Exception(str(ex)) \ No newline at end of file From 44c09d5eb79e1233ca99819985ddd536e1a79726 Mon Sep 17 00:00:00 2001 From: lucas-m-ribeiro Date: Sat, 26 Oct 2024 12:55:31 -0300 Subject: [PATCH 2/7] test: add unit test to new method disconnect_to_redis --- tests/test_RedisLibrary.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_RedisLibrary.py b/tests/test_RedisLibrary.py index 5da1feb..adf6737 100644 --- a/tests/test_RedisLibrary.py +++ b/tests/test_RedisLibrary.py @@ -315,5 +315,9 @@ def test_delete_item_from_list_redis_item_not_matched(self): with self.assertRaises(AssertionError): self.redis.delete_item_from_list_redis(self.fake_redis, 'Country', 2, 'Spain') + def test_disconect_to_redis(self): + self.assertIsNone(self.redis.disconnect_to_redis(self.fake_redis)) + self.fake_redis.close.assert_called_once() + def tearDown(self): self.fake_redis.flushall() From b8f70e90b69297fd44f5e99a65f88b76ea5d51bb Mon Sep 17 00:00:00 2001 From: Lucas Monteiro Ribeiro <32301488+lucas-m-ribeiro@users.noreply.github.com> Date: Sat, 26 Oct 2024 12:57:07 -0300 Subject: [PATCH 3/7] Update RedisLibraryKeywords.py --- RedisLibrary/RedisLibraryKeywords.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RedisLibrary/RedisLibraryKeywords.py b/RedisLibrary/RedisLibraryKeywords.py index 0b1d013..dcd5fc4 100644 --- a/RedisLibrary/RedisLibraryKeywords.py +++ b/RedisLibrary/RedisLibraryKeywords.py @@ -591,11 +591,11 @@ def disconnect_to_redis(self, redis_conn): - redis_conn: Redis connection object Examples: - | Disconnect from Redis | ${redis_conn} | + | Disconnect to Redis | ${redis_conn} | """ try: redis_conn.close() logger.info("Disconnection successful") except Exception as ex: logger.error("Failed to disconnect:"(ex)) - raise Exception(str(ex)) \ No newline at end of file + raise Exception(str(ex)) From 53297d9bae389c881077a94a9d040e508de0ffc8 Mon Sep 17 00:00:00 2001 From: Lucas Monteiro Ribeiro <32301488+lucas-m-ribeiro@users.noreply.github.com> Date: Sat, 26 Oct 2024 13:16:00 -0300 Subject: [PATCH 4/7] Update RedisLibraryKeywords.py --- RedisLibrary/RedisLibraryKeywords.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RedisLibrary/RedisLibraryKeywords.py b/RedisLibrary/RedisLibraryKeywords.py index dcd5fc4..d9c2e7e 100644 --- a/RedisLibrary/RedisLibraryKeywords.py +++ b/RedisLibrary/RedisLibraryKeywords.py @@ -597,5 +597,5 @@ def disconnect_to_redis(self, redis_conn): redis_conn.close() logger.info("Disconnection successful") except Exception as ex: - logger.error("Failed to disconnect:"(ex)) + logger.error(f"Failed to disconnect: {ex}") raise Exception(str(ex)) From cecf870c7ed9b1366b253b774caac145b75eb3ed Mon Sep 17 00:00:00 2001 From: lucas-m-ribeiro Date: Sat, 26 Oct 2024 16:33:32 -0300 Subject: [PATCH 5/7] [fix] replacing method close to connection pool --- RedisLibrary/RedisLibraryKeywords.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RedisLibrary/RedisLibraryKeywords.py b/RedisLibrary/RedisLibraryKeywords.py index d9c2e7e..284f1cd 100644 --- a/RedisLibrary/RedisLibraryKeywords.py +++ b/RedisLibrary/RedisLibraryKeywords.py @@ -594,7 +594,7 @@ def disconnect_to_redis(self, redis_conn): | Disconnect to Redis | ${redis_conn} | """ try: - redis_conn.close() + redis_conn.connection_pool.disconnect() logger.info("Disconnection successful") except Exception as ex: logger.error(f"Failed to disconnect: {ex}") From cf1facdc3a606753e68054cdfaed7b9f6e23a5d1 Mon Sep 17 00:00:00 2001 From: lucas-m-ribeiro Date: Sat, 26 Oct 2024 16:45:02 -0300 Subject: [PATCH 6/7] fix unit test --- RedisLibrary/RedisLibraryKeywords.py | 2 +- tests/test_RedisLibrary.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/RedisLibrary/RedisLibraryKeywords.py b/RedisLibrary/RedisLibraryKeywords.py index 284f1cd..d9c2e7e 100644 --- a/RedisLibrary/RedisLibraryKeywords.py +++ b/RedisLibrary/RedisLibraryKeywords.py @@ -594,7 +594,7 @@ def disconnect_to_redis(self, redis_conn): | Disconnect to Redis | ${redis_conn} | """ try: - redis_conn.connection_pool.disconnect() + redis_conn.close() logger.info("Disconnection successful") except Exception as ex: logger.error(f"Failed to disconnect: {ex}") diff --git a/tests/test_RedisLibrary.py b/tests/test_RedisLibrary.py index adf6737..ae609ad 100644 --- a/tests/test_RedisLibrary.py +++ b/tests/test_RedisLibrary.py @@ -2,7 +2,7 @@ __author__ = 'Traitanit Huangsri' __email__ = 'traitanit.hua@gmail.com' - +from unittest.mock import MagicMock, patch from RedisLibrary import RedisLibrary import unittest, fakeredis, ast @@ -316,6 +316,7 @@ def test_delete_item_from_list_redis_item_not_matched(self): self.redis.delete_item_from_list_redis(self.fake_redis, 'Country', 2, 'Spain') def test_disconect_to_redis(self): + self.fake_redis.close = MagicMock() self.assertIsNone(self.redis.disconnect_to_redis(self.fake_redis)) self.fake_redis.close.assert_called_once() From c3393fb76042beb44ef30b204831b5fedf037390 Mon Sep 17 00:00:00 2001 From: lucas-m-ribeiro Date: Mon, 28 Oct 2024 12:57:45 -0300 Subject: [PATCH 7/7] update: change method name --- RedisLibrary/RedisLibraryKeywords.py | 6 +++--- tests/test_RedisLibrary.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/RedisLibrary/RedisLibraryKeywords.py b/RedisLibrary/RedisLibraryKeywords.py index d9c2e7e..a137b07 100644 --- a/RedisLibrary/RedisLibraryKeywords.py +++ b/RedisLibrary/RedisLibraryKeywords.py @@ -583,15 +583,15 @@ def delete_item_from_list_redis(self, redis_conn, list_name, index, item=None): redis_conn.lset(list_name, index, 'DELETE_ITEM') redis_conn.lrem(list_name, 1, 'DELETE_ITEM') - @keyword('Disconnect to Redis') - def disconnect_to_redis(self, redis_conn): + @keyword('Disconnect from Redis') + def disconnect_from_redis(self, redis_conn): """Securely disconnect from Redis database. Arguments: - redis_conn: Redis connection object Examples: - | Disconnect to Redis | ${redis_conn} | + | Disconnect from Redis | ${redis_conn} | """ try: redis_conn.close() diff --git a/tests/test_RedisLibrary.py b/tests/test_RedisLibrary.py index ae609ad..eeef15c 100644 --- a/tests/test_RedisLibrary.py +++ b/tests/test_RedisLibrary.py @@ -315,9 +315,9 @@ def test_delete_item_from_list_redis_item_not_matched(self): with self.assertRaises(AssertionError): self.redis.delete_item_from_list_redis(self.fake_redis, 'Country', 2, 'Spain') - def test_disconect_to_redis(self): + def test_disconnect_from_redis(self): self.fake_redis.close = MagicMock() - self.assertIsNone(self.redis.disconnect_to_redis(self.fake_redis)) + self.assertIsNone(self.redis.disconnect_from_redis(self.fake_redis)) self.fake_redis.close.assert_called_once() def tearDown(self):