PurgeLimiterTest.php 997 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. use PHPUnit\Framework\TestCase;
  3. use PrivateBin\Persistence\PurgeLimiter;
  4. class PurgeLimiterTest extends TestCase
  5. {
  6. private $_path;
  7. public function setUp()
  8. {
  9. /* Setup Routine */
  10. $this->_path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'privatebin_data';
  11. if (!is_dir($this->_path)) {
  12. mkdir($this->_path);
  13. }
  14. PurgeLimiter::setPath($this->_path);
  15. }
  16. public function tearDown()
  17. {
  18. /* Tear Down Routine */
  19. Helper::rmDir($this->_path);
  20. }
  21. public function testLimit()
  22. {
  23. // initialize it
  24. PurgeLimiter::setLimit(1);
  25. PurgeLimiter::canPurge();
  26. // try setting it
  27. $this->assertEquals(false, PurgeLimiter::canPurge());
  28. sleep(2);
  29. $this->assertEquals(true, PurgeLimiter::canPurge());
  30. // disable it
  31. PurgeLimiter::setLimit(0);
  32. PurgeLimiter::canPurge();
  33. $this->assertEquals(true, PurgeLimiter::canPurge());
  34. }
  35. }