RedisCacheIntegrationTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace Illuminate\Tests\Cache;
  3. use Illuminate\Cache\RedisStore;
  4. use Illuminate\Cache\Repository;
  5. use Illuminate\Foundation\Testing\Concerns\InteractsWithRedis;
  6. use PHPUnit\Framework\TestCase;
  7. class RedisCacheIntegrationTest extends TestCase
  8. {
  9. use InteractsWithRedis;
  10. protected function setUp(): void
  11. {
  12. parent::setUp();
  13. $this->setUpRedis();
  14. }
  15. protected function tearDown(): void
  16. {
  17. parent::tearDown();
  18. $this->tearDownRedis();
  19. }
  20. /**
  21. * @dataProvider redisDriverProvider
  22. *
  23. * @param string $driver
  24. */
  25. public function testRedisCacheAddTwice($driver)
  26. {
  27. $store = new RedisStore($this->redis[$driver]);
  28. $repository = new Repository($store);
  29. $this->assertTrue($repository->add('k', 'v', 3600));
  30. $this->assertFalse($repository->add('k', 'v', 3600));
  31. $this->assertGreaterThan(3500, $this->redis[$driver]->connection()->ttl('k'));
  32. }
  33. /**
  34. * Breaking change.
  35. *
  36. * @dataProvider redisDriverProvider
  37. *
  38. * @param string $driver
  39. */
  40. public function testRedisCacheAddFalse($driver)
  41. {
  42. $store = new RedisStore($this->redis[$driver]);
  43. $repository = new Repository($store);
  44. $repository->forever('k', false);
  45. $this->assertFalse($repository->add('k', 'v', 60));
  46. $this->assertEquals(-1, $this->redis[$driver]->connection()->ttl('k'));
  47. }
  48. /**
  49. * Breaking change.
  50. *
  51. * @dataProvider redisDriverProvider
  52. *
  53. * @param string $driver
  54. */
  55. public function testRedisCacheAddNull($driver)
  56. {
  57. $store = new RedisStore($this->redis[$driver]);
  58. $repository = new Repository($store);
  59. $repository->forever('k', null);
  60. $this->assertFalse($repository->add('k', 'v', 60));
  61. }
  62. }