From a52f7f24855485e9877b95efe66634dda2467831 Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Mon, 2 Feb 2026 12:57:40 +0000 Subject: [PATCH] fix: ensure Redis restart in cache reconnection tests --- tests/e2e/Services/Health/CacheTest.php | 40 ++++++++++++++----------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/tests/e2e/Services/Health/CacheTest.php b/tests/e2e/Services/Health/CacheTest.php index 7f9761510b..735446b836 100644 --- a/tests/e2e/Services/Health/CacheTest.php +++ b/tests/e2e/Services/Health/CacheTest.php @@ -32,17 +32,19 @@ class CacheTest extends HealthBase sleep(1); try { - $cache->load('test:reconnect', 5); - $this->fail('Redis connection should have failed'); - } catch (\RedisException $e) { + try { + $cache->load('test:reconnect', 5); + $this->fail('Redis connection should have failed'); + } catch (\RedisException $e) { + } + } finally { + $output = []; + $startCmd = 'docker ps -a --filter "name=appwrite-redis" --format "{{.Names}}" | xargs -r docker start'; + exec($startCmd . ' 2>&1', $output, $exitCode); + $this->assertEquals(0, $exitCode, "Docker start failed: $startCmd\nOutput: " . implode("\n", $output)); + sleep(3); } - $output = []; - $startCmd = 'docker ps -a --filter "name=appwrite-redis" --format "{{.Names}}" | xargs -r docker start'; - exec($startCmd . ' 2>&1', $output, $exitCode); - $this->assertEquals(0, $exitCode, "Docker start failed: $startCmd\nOutput: " . implode("\n", $output)); - sleep(3); - $this->assertEquals('reconnect', $cache->save('test:reconnect', 'reconnect', 'test:reconnect')); $this->assertEquals('reconnect', $cache->load('test:reconnect', 5)); } @@ -64,17 +66,19 @@ class CacheTest extends HealthBase sleep(1); try { - $cache->load('test:reconnect_persistent', 5); - $this->fail('Redis connection should have failed'); - } catch (\RedisException $e) { + try { + $cache->load('test:reconnect_persistent', 5); + $this->fail('Redis connection should have failed'); + } catch (\RedisException $e) { + } + } finally { + $output = []; + $startCmd = 'docker ps -a --filter "name=appwrite-redis" --format "{{.Names}}" | xargs -r docker start'; + exec($startCmd . ' 2>&1', $output, $exitCode); + $this->assertEquals(0, $exitCode, "Docker start failed: $startCmd\nOutput: " . implode("\n", $output)); + sleep(3); } - $output = []; - $startCmd = 'docker ps -a --filter "name=appwrite-redis" --format "{{.Names}}" | xargs -r docker start'; - exec($startCmd . ' 2>&1', $output, $exitCode); - $this->assertEquals(0, $exitCode, "Docker start failed: $startCmd\nOutput: " . implode("\n", $output)); - sleep(3); - $this->assertEquals('reconnect_persistent', $cache->save('test:reconnect_persistent', 'reconnect_persistent', 'test:reconnect_persistent')); $this->assertEquals('reconnect_persistent', $cache->load('test:reconnect_persistent', 5)); }