code_key.test.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. App::import('Model', 'Tools.CodeKey');
  3. class CodeKeyTestCase extends CakeTestCase {
  4. var $CodeKey = null;
  5. //var $fixtures = array('app.code_key');
  6. function startTest() {
  7. $this->CodeKey =& ClassRegistry::init('CodeKey');
  8. }
  9. function testCodeKeyInstance() {
  10. $this->assertTrue(is_a($this->CodeKey, 'CodeKey'));
  11. }
  12. function testGenerateKey() {
  13. $key = $this->CodeKey->generateKey(4);
  14. pr($key);
  15. $this->assertTrue(!empty($key) && strlen($key) === 4);
  16. }
  17. function testNewKeySpendKey() {
  18. $key = $this->CodeKey->newKey('test', null, null, 'xyz');
  19. $this->assertTrue(!empty($key));
  20. $res = $this->CodeKey->useKey('test', $key);
  21. pr($res);
  22. $this->assertTrue(!empty($res));
  23. $res = $this->CodeKey->useKey('test', $key);
  24. pr($res);
  25. $this->assertTrue(!empty($res) && !empty($res['CodeKey']['used']));
  26. $res = $this->CodeKey->useKey('test', $key.'x');
  27. $this->assertFalse($res);
  28. $res = $this->CodeKey->useKey('testx', $key);
  29. $this->assertFalse($res);
  30. }
  31. function testGarbigeCollector() {
  32. $data = array(
  33. 'created' => date(FORMAT_DB_DATETIME, time()-3*MONTH),
  34. 'type' => 'y',
  35. 'key' => 'x'
  36. );
  37. $this->CodeKey->create();
  38. $this->CodeKey->save($data, false);
  39. $count = $this->CodeKey->find('count');
  40. $this->CodeKey->garbigeCollector();
  41. $count2 = $this->CodeKey->find('count');
  42. $this->assertTrue($count > $count2);
  43. }
  44. }
  45. ?>