/** * testNextScheduledImport */ public function testNextScheduledImport() { $cc = Calendar_Controller_Event::getInstance(); $filter = new Calendar_Model_EventFilter(array(array('field' => 'container_id', 'operator' => 'equals', 'value' => $this->_testCalendar->getId()))); $all = $cc->search($filter); $this->assertEquals(0, $all->count()); $now = Tinebase_DateTime::now()->subHour(1); $record = $this->createScheduledImport(); // assert setting timestamp to start value $this->assertEquals($now->format('YMDHi'), $record->timestamp->format('YMDHi')); $record = $this->_uit->runNextScheduledImport(); // assert updating timestamp after successful run $now->addHour(1); $this->assertEquals($now->format('YMDHi'), $record->timestamp->format('YMDHi')); $all = $cc->search($filter); $seq = $all->getFirstRecord()->seq; // assert all events have been imported $this->assertEquals(7, $all->count()); // this must not be run, the interval is not exceed $ret = $this->_uit->runNextScheduledImport(); $all = $cc->search($filter); $this->assertEquals($seq, $all->getFirstRecord()->seq); // setting manual timestamp to force run again $record->timestamp = $record->timestamp->subHour(1)->subSecond(1); $this->_uit->update($record); $ret = $this->_uit->runNextScheduledImport(); $all = $cc->search($filter); $this->assertEquals(7, $all->count()); }
/** * @see 0011342: ics-scheduled import only imports 1 remote calendar */ public function testNextScheduledImportFilter() { $record = $this->createScheduledImport(); $record->timestamp = $record->timestamp->addHour(2); $this->_uit->update($record); $filter = $this->_uit->getScheduledImportFilter(); $result = $this->_uit->search($filter); $this->assertEquals(0, count($result), 'no imports should be found: ' . print_r($result->toArray(), true)); }