CacheTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Services;
  4. use PHPUnit\Framework\TestCase;
  5. class CacheTest extends TestCase
  6. {
  7. /**
  8. * @covers App\Services\Cache::getRedisConfig
  9. */
  10. public function testGetRedisConfig()
  11. {
  12. // Scenario 1: All parameters are set
  13. $_ENV['redis_host'] = 'localhost';
  14. $_ENV['redis_port'] = '6379';
  15. $_ENV['redis_db'] = '0';
  16. $_ENV['redis_connect_timeout'] = '1.0';
  17. $_ENV['redis_read_timeout'] = '1.0';
  18. $_ENV['redis_username'] = 'username';
  19. $_ENV['redis_password'] = 'password';
  20. $_ENV['redis_ssl'] = true;
  21. $_ENV['redis_ssl_context'] = [];
  22. $expected1 = [
  23. 'host' => 'localhost',
  24. 'port' => '6379',
  25. 'database' => '0',
  26. 'connectTimeout' => '1.0',
  27. 'readTimeout' => '1.0',
  28. 'auth' => [
  29. 'user' => 'username',
  30. 'pass' => 'password',
  31. ],
  32. 'ssl' => [],
  33. ];
  34. $result1 = Cache::getRedisConfig();
  35. $this->assertEquals($expected1, $result1);
  36. // Scenario 2: Optional parameters are not set
  37. $_ENV['redis_username'] = '';
  38. $_ENV['redis_password'] = '';
  39. $_ENV['redis_ssl'] = false;
  40. $expected2 = [
  41. 'host' => 'localhost',
  42. 'port' => '6379',
  43. 'database' => '0',
  44. 'connectTimeout' => '1.0',
  45. 'readTimeout' => '1.0',
  46. ];
  47. $result2 = Cache::getRedisConfig();
  48. $this->assertEquals($expected2, $result2);
  49. }
  50. }