ImapSourceTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /**
  3. * Imap Datasource Test file
  4. *
  5. * PHP version 5
  6. *
  7. * Licensed under The MIT License
  8. * @author Mark Scherer
  9. */
  10. App::uses('ImapSource', 'Tools.Model/Datasource');
  11. App::uses('ConnectionManager', 'Model');
  12. App::uses('AppModel', 'Model');
  13. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  14. //class_exists('TestImapSource');
  15. // Add new db config
  16. //ConnectionManager::create('test_imap', array('datasource' => 'TestImapSource', 'type' => 'imap'));
  17. /**
  18. * Imap Datasource Test
  19. *
  20. */
  21. class ImapSourceTest extends MyCakeTestCase {
  22. public $Model = null;
  23. /**
  24. * Imap Source Instance
  25. *
  26. * @var ImapSource
  27. */
  28. public $Imap = null;
  29. public function setUp() {
  30. parent::setUp();
  31. $this->Model = ClassRegistry::init('TestImap');
  32. $config = array();
  33. $this->Imap = new TestImapSource($config);
  34. }
  35. /**
  36. * TestFindWithoutConfig
  37. *
  38. * @expectedException RuntimeException
  39. */
  40. public function _testFindWithoutConfig() {
  41. $result = $this->Model->find('all');
  42. //$expected = ?
  43. //$this->assertEquals($expected, $result);
  44. $this->debug($result);
  45. }
  46. public function testMakeSearch() {
  47. $query = array(
  48. 'answered' => 1,
  49. 'seen' => true,
  50. 'deleted' => null,
  51. 'flagged' => false, // will be reversed
  52. );
  53. $res = $this->Imap->makeSearch($this->Model, array('conditions' => $query));
  54. $expected = array('SEEN', 'UNFLAGGED', 'ANSWERED');
  55. $this->assertEquals($expected, $res);
  56. }
  57. }
  58. /**
  59. * Testing Source
  60. *
  61. */
  62. class TestImapSource extends ImapSource {
  63. public function makeSearch(Model $Model, $query) {
  64. return $this->_makeSearch($Model, $query);
  65. }
  66. }
  67. /**
  68. * Testing Model
  69. *
  70. */
  71. class TestImap extends AppModel {
  72. public $useTable = false;
  73. public $recursive = -1;
  74. }