PurgeLimiterTest.php 983 B

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