From a4ecb3d6aa2cf1a698c3997dddcf6e3cd3dc8cd7 Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Tue, 2 Sep 2014 17:54:46 +0200 Subject: [PATCH] Remove sphinx search engine tests --- .travis.yml | 5 - .../SphinxSearchConfigurationPanelTest.php | 35 ---- .../SearchEngine/SphinxSearchEngineTest.php | 166 ------------------ 3 files changed, 206 deletions(-) delete mode 100644 tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchConfigurationPanelTest.php delete mode 100644 tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php diff --git a/.travis.yml b/.travis.yml index bc741737f5..8e57aed5b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,11 +25,6 @@ before_script: - echo 'extension="memcached.so"' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/memcached.ini - echo "extension=zmq.so" > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/zmq.ini - yes | pecl install imagick - - wget http://sphinxsearch.com/files/sphinx-2.0.6-release.tar.gz - - tar xzf sphinx-2.0.6-release.tar.gz - - sh -c "cd sphinx-2.0.6-release && wget http://snowball.tartarus.org/dist/libstemmer_c.tgz && tar xzf libstemmer_c.tgz && ./configure --with-libstemmer --with-iconv --with-mysql --enable-id64 --quiet && make -j --quiet && sudo make install" - - sudo mkdir -p /var/sphinx/datas - - sudo chmod -R 0777 /var/sphinx - mysql -e 'create database update39_test;create database ab_test;create database db_test; create database ab_unitTests; create database db_unitTests;' - sudo mysql -e "GRANT ALL PRIVILEGES ON ab_unitTests.* TO 'phraseaUnitTests'@'localhost' IDENTIFIED BY 'iWvGxPE8' WITH GRANT OPTION" - sudo mysql -e "GRANT ALL PRIVILEGES ON db_unitTests.* TO 'phraseaUnitTests'@'localhost' IDENTIFIED BY 'iWvGxPE8' WITH GRANT OPTION" diff --git a/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchConfigurationPanelTest.php b/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchConfigurationPanelTest.php deleted file mode 100644 index e042973fc8..0000000000 --- a/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchConfigurationPanelTest.php +++ /dev/null @@ -1,35 +0,0 @@ -getPanel()->getAvailableCharsets(); - - $this->assertInternalType('array', $charsets); - foreach ($charsets as $name => $charset) { - $this->assertInternalType('string', $name); - $this->assertInstanceOf('Alchemy\Phrasea\SearchEngine\SphinxSearch\AbstractCharset', $charset); - } - } - - public function testGenerateSphinxConf() - { - $databoxes = self::$DI['app']['phraseanet.appbox']->get_databoxes(); - $configuration = $this->getPanel()->getConfiguration(); - - $conf = $this->getPanel()->generateSphinxConf($databoxes, $configuration); - $this->assertInternalType('string', $conf); - } - -} diff --git a/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php b/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php deleted file mode 100644 index da09cfe445..0000000000 --- a/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php +++ /dev/null @@ -1,166 +0,0 @@ -find('indexer'); - - $searchd = $binaryFinder->find('searchd'); - - if (!$indexer || !$searchd) { - self::$skipped = true; - - return; - } - - $app = self::$DI['app']; - $appbox = $app['phraseanet.appbox']; - - $app['conf']->set(['main', 'search-engine', 'options'], [ - 'host' => '127.0.0.1', - 'port' => 9312, - 'rt_host' => '127.0.0.1', - 'rt_port' => 9306, - ]); - - self::$searchEngine = SphinxSearchEngine::create($app, $app['conf']->get(['main', 'search-engine', 'options'])); - - self::$config = tempnam(sys_get_temp_dir(), 'tmp_sphinx.conf'); - $configuration = self::$searchEngine->getConfigurationPanel()->getConfiguration(); - $configuration['date_fields'] = []; - - foreach ($appbox->get_databoxes() as $databox) { - foreach ($databox->get_meta_structure() as $databox_field) { - if ($databox_field->get_type() != \databox_field::TYPE_DATE) { - continue; - } - $configuration['date_fields'][] = $databox_field->get_name(); - } - } - - $configuration['date_fields'] = array_unique($configuration['date_fields']); - - self::$searchEngine->getConfigurationPanel()->saveConfiguration($configuration); - - $configFile = self::$searchEngine->getConfigurationPanel()->generateSphinxConf($appbox->get_databoxes(), $configuration); - - file_put_contents(self::$config, $configFile); - - $process = new Process($indexer . ' --all -c ' . self::$config); - $process->run(); - - self::$searchd = new Process($searchd . ' -c ' . self::$config); - self::$searchd->run(); - - self::$searchEngine = SphinxSearchEngine::create($app, $app['conf']->get(['main', 'search-engine', 'options'])); - self::$searchEngineClass = 'Alchemy\Phrasea\SearchEngine\SphinxSearch\SphinxSearchEngine'; - } - - public function setUp() - { - parent::setUp(); - if (self::$skipped) { - $this->markTestSkipped('SphinxSearch is not present on system'); - } - } - - public function tearDown() - { - if (!self::$skipped) { - self::$searchEngine->removeRecord(self::$DI['record_2']); - } - - parent::tearDown(); - } - - public function initialize() - { - } - - public static function tearDownAfterClass() - { - if (!self::$skipped) { - $binaryFinder = new ExecutableFinder(); - $searchd = $binaryFinder->find('searchd'); - - self::$searchd = new Process($searchd . ' --stop -c ' . self::$config); - self::$searchd->run(); - - unlink(self::$config); - } - - self::$skipped = self::$config = self::$searchd = null; - parent::tearDownAfterClass(); - } - - /** - * @covers Alchemy\Phrasea\SearchEngine\SphinxSearch\SphinxSearchEngine::autocomplete - */ - public function testAutocomplete() - { - $record = self::$DI['record_2']; - - $toupdate = []; - - foreach ($record->get_databox()->get_meta_structure()->get_elements() as $field) { - try { - $values = $record->get_caption()->get_field($field->get_name())->get_values(); - $value = array_pop($values); - $meta_id = $value->getId(); - } catch (\Exception $e) { - $meta_id = null; - } - - $toupdate[$field->get_id()] = [ - 'meta_id' => $meta_id - , 'meta_struct_id' => $field->get_id() - , 'value' => 'jeanne, jeannine, jeannette, jean-pierre et jean claude' - ]; - break; - } - - $record->set_metadatas($toupdate); - - self::$searchEngine->addRecord($record); - $this->updateIndex(); - - $binaryFinder = new ExecutableFinder(); - $indexer = $binaryFinder->find('indexer'); - - $appbox = self::$DI['app']['phraseanet.appbox']; - self::$searchEngine->buildSuggestions($appbox->get_databoxes(), self::$config, 0); - - $process = new Process($indexer . ' --all --rotate -c ' . self::$config); - $process->run(); - usleep(500000); - - $suggestions = self::$searchEngine->autocomplete('jean', $this->options); - $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $suggestions); - - $this->assertGreaterThan(2, count($suggestions)); - - foreach ($suggestions as $suggestion) { - $this->assertInstanceof('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineSuggestion', $suggestion); - } - } - - protected function updateIndex(array $stemms = []) - { - return $this; - } -}