Exemple #1
0
 /**
  * Initialize page index queue
  *
  * @return void
  */
 protected function initializePageIndexQueue()
 {
     $this->pageInitializer->setIndexingConfigurationName('pages');
     $this->pageInitializer->setSite(Site::getFirstAvailableSite());
     $this->pageInitializer->setType('pages');
     $this->pageInitializer->initialize();
 }
Exemple #2
0
 /**
  * @test
  */
 public function preFilledQueueContainsRootPageAfterInitialize()
 {
     $this->importDataSetFromFixture('can_clear_queue_after_initialize.xml');
     $itemCount = $this->indexQueue->getAllItemsCount();
     $this->assertItemsInQueue(1);
     $this->assertFalse($this->indexQueue->containsItem('pages', 1));
     $this->assertTrue($this->indexQueue->containsItem('pages', 4711));
     // after initialize the prefilled queue item should be lost and the root page should be added again
     $site = Site::getFirstAvailableSite();
     $this->indexQueue->initialize($site, 'pages');
     $this->assertItemsInQueue(1);
     $this->assertTrue($this->indexQueue->containsItem('pages', 1));
     $this->assertFalse($this->indexQueue->containsItem('pages', 4711));
 }
 /**
  * Resets the stored site to the first available site.
  *
  * @return void‚
  */
 protected function initializeSiteFromFirstAvailableAndStoreInModuleData()
 {
     $site = Site::getFirstAvailableSite();
     $this->setSiteAndResetCore($site);
     $this->site = $site;
 }
 /**
  * @test
  */
 public function solrIsEmptyAfterCleanup()
 {
     $this->importDataSetFromFixture('can_reindex_task_fill_queue.xml');
     // fill the solr
     $site = Site::getFirstAvailableSite();
     $this->indexQueue->updateItem('pages', 1);
     $items = $this->indexQueue->getItems('pages', 1);
     /** @var $indexer \ApacheSolrForTypo3\Solr\IndexQueue\Indexer */
     $indexer = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\IndexQueue\\Indexer');
     $indexer->index($items[0]);
     sleep(2);
     $this->assertSolrContainsDocumentCount(1);
     $this->task->setSite($site);
     $this->task->setIndexingConfigurationsToReIndex(array('pages'));
     $this->task->execute();
     sleep(2);
     // after the task was running the solr server should be empty
     $this->assertSolrIsEmpty();
     // if not we cleanup now
     $this->cleanUpSolrServerAndAssertEmpty();
 }
 /**
  * @test
  */
 public function canGetAdditionalInformationFromTask()
 {
     $this->importDataSetFromFixture('can_trigger_frontend_calls_for_page_index.xml');
     $site = Site::getFirstAvailableSite();
     /** @var $indexQueueQueueWorkerTask \ApacheSolrForTypo3\Solr\Task\IndexQueueWorkerTask */
     $indexQueueQueueWorkerTask = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Task\\IndexQueueWorkerTask');
     $indexQueueQueueWorkerTask->setDocumentsToIndexLimit(1);
     $indexQueueQueueWorkerTask->setSite($site);
     $additionalInformation = $indexQueueQueueWorkerTask->getAdditionalInformation();
     $this->assertContains('Root Page ID: 1', $additionalInformation);
     $this->assertContains('Site: page for testing', $additionalInformation);
 }
 /**
  *
  * @dataProvider canResolveAbsRefPrefixDataProvider
  * @param string $absRefPrefix
  * @param string $expectedUrl
  * @test
  */
 public function canResolveAbsRefPrefix($absRefPrefix, $expectedUrl)
 {
     $this->cleanUpSolrServerAndAssertEmpty();
     // create fake extension database table and TCA
     $this->importDumpFromFixture('fake_extension2_table.sql');
     $GLOBALS['TCA']['tx_fakeextension_domain_model_bar'] = (include $this->getFixturePath('fake_extension2_bar_tca.php'));
     $GLOBALS['TCA']['tx_fakeextension_domain_model_directrelated'] = (include $this->getFixturePath('fake_extension2_directrelated_tca.php'));
     $this->importDataSetFromFixture('can_index_custom_record_absRefPrefix_' . $absRefPrefix . '.xml');
     $this->addToIndexQueue('tx_fakeextension_domain_model_bar', 111);
     /** @var  $cliEnvironment CliEnvironment */
     $cliEnvironment = GeneralUtility::makeInstance(CliEnvironment::class);
     $cliEnvironment->backup();
     $cliEnvironment->initialize(PATH_site);
     /** @var $indexService IndexService */
     $site = Site::getFirstAvailableSite();
     $indexService = GeneralUtility::makeInstance(IndexService::class, $site);
     // run the indexer
     $indexService->indexItems(1);
     $cliEnvironment->restore();
     // do we have the record in the index with the value from the mm relation?
     sleep(2);
     $solrContent = file_get_contents('http://localhost:8080/solr/core_en/select?q=*:*');
     $this->assertContains('"numFound":1', $solrContent, 'Could not index document into solr');
     $this->assertContains('"url":"' . $expectedUrl . '"', $solrContent, 'Generated unexpected url with absRefPrefix = auto');
     $this->assertNotContains('auto', $solrContent, 'absRefPrefix=auto was not resolved');
     $this->cleanUpSolrServerAndAssertEmpty();
 }
Exemple #7
0
 /**
  * @test
  */
 public function canGetDefaultLanguage()
 {
     $this->importDataSetFromFixture('can_get_default_language.xml');
     $site = Site::getFirstAvailableSite();
     $this->assertEquals(888, $site->getDefaultLanguage(), 'Could not get default language from site');
 }
 /**
  * @test
  */
 public function canTriggerFrontendIndexingAndMarkQueueEntryAsProcessed()
 {
     $this->importDataSetFromFixture('can_trigger_frontend_calls_for_page_index.xml');
     // we expect that the index queue is empty before we start
     $this->assertFalse($this->indexQueue->containsIndexedItem('pages', 1));
     /** @var $beUser  \TYPO3\CMS\Core\Authentication\BackendUserAuthentication */
     $beUser = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Authentication\\BackendUserAuthentication');
     $GLOBALS['BE_USER'] = $beUser;
     /** @var $languageService  \TYPO3\CMS\Lang\LanguageService */
     $languageService = GeneralUtility::makeInstance('TYPO3\\CMS\\Lang\\LanguageService');
     $GLOBALS['LANG'] = $languageService;
     $charsetConverter = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Charset\\CharsetConverter');
     $GLOBALS['LANG']->csConvObj = $charsetConverter;
     $site = Site::getFirstAvailableSite();
     /** @var $indexQueueQueueWorkerTask \ApacheSolrForTypo3\Solr\Task\IndexQueueWorkerTask */
     $indexQueueQueueWorkerTask = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Task\\IndexQueueWorkerTask');
     $indexQueueQueueWorkerTask->setDocumentsToIndexLimit(1);
     $indexQueueQueueWorkerTask->setSite($site);
     $indexQueueQueueWorkerTask->execute();
     // we expect that the index queue is empty before we start
     $this->assertTrue($this->indexQueue->containsIndexedItem('pages', 1));
 }