1, 'solr_host' => 'localhost', 'solr_instance' => 'os' ); G::LoadClass ('AppSolr'); $this->object = new AppSolr ($solrConf ['solr_enabled'], $solrConf ['solr_host'], $solrConf ['solr_instance']); } /** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. */ protected function tearDown() { } /** * @covers AppSolr::isSolrEnabled */ public function testIsSolrEnabled() { // display messages with --debug option // print "XXXXXXXXXXXXXXXXXXXXX"; $result = $this->object->isSolrEnabled (); $this->assertEquals ($result, true, "Assert error testIsSolrEnabled"); } /** * @covers AppSolr::reindexAllApplications * executed first to copy all the application records to the search server * @depends testIsSolrEnabled */ public function testReindexAllApplications() { $this->object->reindexAllApplications (); } /** * @covers AppSolr::getCountApplicationsPMOS2 * * @depends testReindexAllApplications */ public function testGetCountApplicationsPMOS2() { $result = $this->object->getCountApplicationsPMOS2 (); $this->assertGreaterThan (0, $result, "Assert error testGetCountApplicationsPMOS2"); print "Applications count: " . $result . "\n"; return $result; } /** * @covers AppSolr::getPagedApplicationUids * * @depends testGetCountApplicationsPMOS2 */ public function testGetPagedApplicationUids($totalNumApplications) { $pagesize = 2; $aAppUids = $this->object->getPagedApplicationUids(0, $pagesize); if($totalNumApplications >= $pagesize){ $this->assertCount(2, $aAppUids, 'Error returned paginated list of AppUids'); } else{ $this->assertGreaterThan(0, $aAppUids, 'No AppUids found'); } return $aAppUids; } /** * @covers AppSolr::getAppGridData * * @depends testReindexAllApplications */ public function testGetAppGridData() { //$userUid, $start = null, $limit = null, $action = null, $filter = null, $search = null, $process = null, $user = null, //$status = null, $type = null, $dateFrom = null, $dateTo = null, $callback = null, $dir = null, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $doCount = false $userUid = '00000000000000000000000000000001'; //admin user $start = 0; $limit = 20; $action = 'todo'; $sort = 'APP_NUMBER'; $dir = 'ASC'; $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, null, null, null, null, null, $dir, $sort, false); print_r($result); if(!$result ['success']){ $this->assertEmpty($result ['message'], 'The message is only display in not success'); } if(!$result ['result']){ $this->assertCount(0, $result ['data'], 'Returned data when not success reported'); } //verify the number of returned rows print 'count results: ' . count($result ['data']); //$this->assertGreaterThan($result ['totalCount'], count($result ['data']), 'The returned records are less than the total'); //test all the views $userUid = '00000000000000000000000000000001'; //admin user $start = 0; $limit = 20; $action = 'participated'; $sort = 'APP_NUMBER'; $dir = 'ASC'; $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, null, null, null, null, null, $dir, $sort, false); $userUid = '00000000000000000000000000000001'; //admin user $start = 0; $limit = 20; $action = 'draft'; $sort = 'APP_NUMBER'; $dir = 'ASC'; $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, null, null, null, null, null, $dir, $sort, false); $userUid = '00000000000000000000000000000001'; //admin user $start = 0; $limit = 20; $action = 'unassigned'; $sort = 'APP_NUMBER'; $dir = 'ASC'; $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, null, null, null, null, null, $dir, $sort, false); //test search functionality } /** * @covers AppSolr::getCasesCount * */ public function testGetCasesCount() { $userUid = '00000000000000000000000000000001'; $result = $this->object->getCasesCount($userUid); print_r($result); $this->assertNotEmpty($result, 'Empty array of counters'); } /** * @covers AppSolr::updateApplicationSearchIndex * * @depends testGetPagedApplicationUids */ public function testUpdateApplicationSearchIndex($aAppUids) { $this->object->updateApplicationSearchIndex($aAppUids); } /** * @covers AppSolr::deleteApplicationSearchIndex * * @depends testGetPagedApplicationUids */ public function testDeleteApplicationSearchIndex($aAppUids) { $appUID = $aAppUids[0]['APP_UID']; $count = $this->object->getCountApplicationsSearchIndex(); $this->object->deleteApplicationSearchIndex($appUID); $count2 = $this->object->getCountApplicationsSearchIndex(); $this->assertEquals($count, $count2 + 1, 'Error deleting application in search index'); //leave index as in the beginning $this->object->reindexAllApplications(); $count3 = $this->object->getCountApplicationsSearchIndex(); $this->assertEquals($count, $count3, 'Error restoring deleted application in search index'); } /** * @covers AppSolr::applicationChangedUpdateSolrQueue * * @depends testGetPagedApplicationUids */ public function testApplicationChangedUpdateSolrQueue($aAppUids) { $appUID = $aAppUids[0]['APP_UID']; //mark application for deletion $this->object->applicationChangedUpdateSolrQueue($appUID, 2); //to delete } /** * @covers AppSolr::synchronizePendingApplications * * @depends testApplicationChangedUpdateSolrQueue */ public function testSynchronizePendingApplications() { //count number of indexed applications $count = $this->object->getCountApplicationsSearchIndex(); print "Total applications:" . $count; //delete application marked in previous test $this->object->synchronizePendingApplications(); $count2 = $this->object->getCountApplicationsSearchIndex(); print "Total applications deleted record:" . $count2; $this->assertEquals($count, $count2 + 1, 'Error synchronizing applications in search index'); //leave index as in the beginning $this->object->reindexAllApplications(); $count3 = $this->object->getCountApplicationsSearchIndex(); $this->assertEquals($count, $count3, 'Error restoring deleted application in search index'); } }