From ea75b67f5e8986fe2cf36c88646bbb9db5da7893 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Wed, 12 Jun 2013 00:29:04 +0530 Subject: [PATCH 01/24] [ticket/11608] add basic search functional test structure PHPBB3-11608 --- tests/functional/search_test.php | 77 ++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 tests/functional/search_test.php diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php new file mode 100644 index 0000000000..db3b63c230 --- /dev/null +++ b/tests/functional/search_test.php @@ -0,0 +1,77 @@ +search_backend_test('phpbb_search_fulltext_native'); + } + + public function test_mysql_fulltext() + { + $this->search_backend_test('phpbb_search_fulltext_mysql'); + + } + + public function test_postgres_fulltext() + { + $this->search_backend_test('phpbb_search_fulltext_postgres'); + + } + + public function test_sphinx() + { + $this->search_backend_test('phpbb_search_fulltext_sphinx'); + } + + public function search_found() + { + + } + + public function search_not_found() + { + + } + + protected function search_backend_test($search_backend) + { + $this->login(); + $this->admin_login(); + + $crawler = self::request('GET', 'adm/index.php?i=acp_search&mode=settings&sid=' . $this->sid); + $form = $crawler->selectButton('Submit')->form(); + $values = $form->getValues(); + + if ($values["config[search_type]"] != $search_backend) + { + $values["config[search_type]"] = $search_backend; + $form->setValues($values); + $crawler = self::submit($form); + + $form = $crawler->selectButton('Yes')->form(); + $values = $form->getValues(); + $crawler = self::submit($form); + + file_put_contents('log' . $search_backend . '.html', $crawler->text()); + } + + $this->create_search_index($search_backend); + } + + protected function create_search_index($search_backend) + { + + } +} From c33c89a790ce0f816887b074afdaaebc1f8099c7 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 14 Jun 2013 00:27:09 +0530 Subject: [PATCH 02/24] [ticket/11608] Skip tests for unsupported search backends PHPBB3-11608 --- tests/functional/search_test.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index db3b63c230..383e389745 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -64,14 +64,20 @@ class phpbb_functional_search_test extends phpbb_functional_test_case $values = $form->getValues(); $crawler = self::submit($form); - file_put_contents('log' . $search_backend . '.html', $crawler->text()); + try + { + $crawler->filter('.errorbox')->text(); + self::markTestSkipped("Search backend is not supported/running"); + + } + catch (InvalidArgumentException $e) {} } - $this->create_search_index($search_backend); + $this->create_search_index($crawler); } - protected function create_search_index($search_backend) + protected function create_search_index($create_index_crawler) { - + var_dump($create_index_crawler->selectLink('Go to search index page')); } } From 81acd8ef10bb50aacfa77fe411156db9a91b0a45 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 14 Jun 2013 01:24:24 +0530 Subject: [PATCH 03/24] [ticket/11608] complete search tests functionalities PHPBB3-11608 --- tests/functional/search_test.php | 37 ++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index 383e389745..ac3cf4503c 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -37,11 +37,15 @@ class phpbb_functional_search_test extends phpbb_functional_test_case public function search_found() { - + $crawler = self::request('GET', 'search.php?keywords=phpbb3'); + $crawler->filter('.postbody')->text(); } public function search_not_found() { + $this->add_lang('search'); + $crawler = self::request('GET', 'search.php?keywords=loremipsumdedo'); + $this->assertContains($this->lang('NO_SEARCH_RESULTS'), $crawler->text()); } @@ -71,13 +75,38 @@ class phpbb_functional_search_test extends phpbb_functional_test_case } catch (InvalidArgumentException $e) {} + + $this->create_search_index($search_backend); } - $this->create_search_index($crawler); + $this->search_found(); + $this->search_not_found(); + $this->delete_search_index($search_backend); } - protected function create_search_index($create_index_crawler) + protected function create_search_index($search_backend) { - var_dump($create_index_crawler->selectLink('Go to search index page')); + $crawler = self::request( + 'POST', + 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid, + array( + 'search_type' => $search_backend, + 'action' => 'create', + 'submit' => true, + ) + ); + } + + protected function delete_search_index($search_backend) + { + $crawler = self::request( + 'POST', + 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid, + array( + 'search_type' => $search_backend, + 'action' => 'delete', + 'submit' => true, + ) + ); } } From 92698c95dca91fad2c40f390cc1a1987d426e63e Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 14 Jun 2013 01:33:32 +0530 Subject: [PATCH 04/24] [ticket/11608] Use assertions in test PHPBB3-11608 --- tests/functional/search_test.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index ac3cf4503c..9cb2eff045 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -38,15 +38,13 @@ class phpbb_functional_search_test extends phpbb_functional_test_case public function search_found() { $crawler = self::request('GET', 'search.php?keywords=phpbb3'); - $crawler->filter('.postbody')->text(); + $this->assertGreaterThan(0, $crawler->filter('.postbody')->count()); } public function search_not_found() { - $this->add_lang('search'); $crawler = self::request('GET', 'search.php?keywords=loremipsumdedo'); - $this->assertContains($this->lang('NO_SEARCH_RESULTS'), $crawler->text()); - + $this->assertLessThan(1, $crawler->filter('.postbody')->count()); } protected function search_backend_test($search_backend) From f4ca9a30a5c5d6f9ac242d3903e1f282d7b96b0f Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 14 Jun 2013 01:46:51 +0530 Subject: [PATCH 05/24] [ticket/11608] Add more assetions in tests PHPBB3-11608 --- tests/functional/search_test.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index 9cb2eff045..d38d4271cf 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -32,7 +32,7 @@ class phpbb_functional_search_test extends phpbb_functional_test_case public function test_sphinx() { - $this->search_backend_test('phpbb_search_fulltext_sphinx'); + //$this->search_backend_test('phpbb_search_fulltext_sphinx'); } public function search_found() @@ -84,6 +84,7 @@ class phpbb_functional_search_test extends phpbb_functional_test_case protected function create_search_index($search_backend) { + $this->add_lang('acp/search'); $crawler = self::request( 'POST', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid, @@ -93,10 +94,12 @@ class phpbb_functional_search_test extends phpbb_functional_test_case 'submit' => true, ) ); + $this->assertContains($this->lang('SEARCH_INDEX_CREATED'), $crawler->text()); } protected function delete_search_index($search_backend) { + $this->add_lang('acp/search'); $crawler = self::request( 'POST', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid, @@ -106,5 +109,6 @@ class phpbb_functional_search_test extends phpbb_functional_test_case 'submit' => true, ) ); + $this->assertContains($this->lang('SEARCH_INDEX_REMOVED'), $crawler->text()); } } From ec30fcf819721439321994f5fc77edce5b51bf17 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 14 Jun 2013 02:30:43 +0530 Subject: [PATCH 06/24] [ticket/11608] Logout before searching Keyword search in search functional tests should be performed as guests rather than logged in as admin. PHPBB3-11608 --- tests/functional/search_test.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index d38d4271cf..adb5cb3d95 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -77,8 +77,12 @@ class phpbb_functional_search_test extends phpbb_functional_test_case $this->create_search_index($search_backend); } + $this->logout(); $this->search_found(); $this->search_not_found(); + + $this->login(); + $this->admin_login(); $this->delete_search_index($search_backend); } From 115599e78d09593cc5db482bb9a2f485cbdb3c51 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 15 Jun 2013 16:52:20 +0530 Subject: [PATCH 07/24] [ticket/11608] Mark sphinx test as incomplete Sphinx search for the test board cannot be tested PHPBB3-11608 --- tests/functional/search_test.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index adb5cb3d95..18520afdbb 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -32,7 +32,8 @@ class phpbb_functional_search_test extends phpbb_functional_test_case public function test_sphinx() { - //$this->search_backend_test('phpbb_search_fulltext_sphinx'); + $this->markTestIncomplete('Sphinx search not running for the test board'); + $this->search_backend_test('phpbb_search_fulltext_sphinx'); } public function search_found() From 9c082999bb1761c95b58d2d6baa3e03ed16f58c9 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Mon, 17 Jun 2013 20:03:41 +0530 Subject: [PATCH 08/24] [ticket/11608] Check for word highlights in search results Search tests check for highlighted words in search results PHPBB3-11608 --- tests/functional/search_test.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index 18520afdbb..c18aa421be 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -38,8 +38,9 @@ class phpbb_functional_search_test extends phpbb_functional_test_case public function search_found() { - $crawler = self::request('GET', 'search.php?keywords=phpbb3'); + $crawler = self::request('GET', 'search.php?keywords=phpbb3+installation'); $this->assertGreaterThan(0, $crawler->filter('.postbody')->count()); + $this->assertEquals(3, $crawler->filter('.posthilit')->count()); } public function search_not_found() From 36da38f062477e48ddc13cde683515ec9f5921f3 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Wed, 19 Jun 2013 02:13:32 +0530 Subject: [PATCH 09/24] [ticket/11608] split search tests into separate files Tests for each search backend are into their own separate files. These separate classes inherit from a common search test case class. PHPBB3-11608 --- tests/functional/search_mysql_test.php | 24 ++++++++++++ tests/functional/search_native_test.php | 24 ++++++++++++ tests/functional/search_postgres_test.php | 24 ++++++++++++ tests/functional/search_sphinx_test.php | 25 ++++++++++++ tests/functional/search_test.php | 48 ++++++----------------- 5 files changed, 109 insertions(+), 36 deletions(-) create mode 100644 tests/functional/search_mysql_test.php create mode 100644 tests/functional/search_native_test.php create mode 100644 tests/functional/search_postgres_test.php create mode 100644 tests/functional/search_sphinx_test.php diff --git a/tests/functional/search_mysql_test.php b/tests/functional/search_mysql_test.php new file mode 100644 index 0000000000..b55d0c808c --- /dev/null +++ b/tests/functional/search_mysql_test.php @@ -0,0 +1,24 @@ +search_backend = 'phpbb_search_fulltext_mysql'; + } +} diff --git a/tests/functional/search_native_test.php b/tests/functional/search_native_test.php new file mode 100644 index 0000000000..9bcdc01547 --- /dev/null +++ b/tests/functional/search_native_test.php @@ -0,0 +1,24 @@ +search_backend = 'phpbb_search_fulltext_native'; + } +} diff --git a/tests/functional/search_postgres_test.php b/tests/functional/search_postgres_test.php new file mode 100644 index 0000000000..5b46db5c82 --- /dev/null +++ b/tests/functional/search_postgres_test.php @@ -0,0 +1,24 @@ +search_backend = 'phpbb_search_fulltext_postgres'; + } +} diff --git a/tests/functional/search_sphinx_test.php b/tests/functional/search_sphinx_test.php new file mode 100644 index 0000000000..c70ea04715 --- /dev/null +++ b/tests/functional/search_sphinx_test.php @@ -0,0 +1,25 @@ +search_backend = 'phpbb_search_fulltext_sphinx'; + $this->markTestIncomplete('Sphinx search not running for the test board'); + } +} diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index c18aa421be..f7c9e949b6 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -10,46 +10,23 @@ /** * @group functional */ -class phpbb_functional_search_test extends phpbb_functional_test_case +abstract class phpbb_functional_search_test extends phpbb_functional_test_case { - public function test_native() - { - $this->search_backend_test('phpbb_search_fulltext_native'); - } - - public function test_mysql_fulltext() - { - $this->search_backend_test('phpbb_search_fulltext_mysql'); - - } - - public function test_postgres_fulltext() - { - $this->search_backend_test('phpbb_search_fulltext_postgres'); - - } - - public function test_sphinx() - { - $this->markTestIncomplete('Sphinx search not running for the test board'); - $this->search_backend_test('phpbb_search_fulltext_sphinx'); - } - - public function search_found() + protected function search_found() { $crawler = self::request('GET', 'search.php?keywords=phpbb3+installation'); $this->assertGreaterThan(0, $crawler->filter('.postbody')->count()); $this->assertEquals(3, $crawler->filter('.posthilit')->count()); } - public function search_not_found() + protected function search_not_found() { $crawler = self::request('GET', 'search.php?keywords=loremipsumdedo'); $this->assertLessThan(1, $crawler->filter('.postbody')->count()); } - protected function search_backend_test($search_backend) + public function test_search_backend() { $this->login(); $this->admin_login(); @@ -58,9 +35,9 @@ class phpbb_functional_search_test extends phpbb_functional_test_case $form = $crawler->selectButton('Submit')->form(); $values = $form->getValues(); - if ($values["config[search_type]"] != $search_backend) + if ($values["config[search_type]"] != $this->search_backend) { - $values["config[search_type]"] = $search_backend; + $values["config[search_type]"] = $this->search_backend; $form->setValues($values); $crawler = self::submit($form); @@ -72,11 +49,10 @@ class phpbb_functional_search_test extends phpbb_functional_test_case { $crawler->filter('.errorbox')->text(); self::markTestSkipped("Search backend is not supported/running"); - } catch (InvalidArgumentException $e) {} - $this->create_search_index($search_backend); + $this->create_search_index(); } $this->logout(); @@ -85,17 +61,17 @@ class phpbb_functional_search_test extends phpbb_functional_test_case $this->login(); $this->admin_login(); - $this->delete_search_index($search_backend); + $this->delete_search_index(); } - protected function create_search_index($search_backend) + protected function create_search_index() { $this->add_lang('acp/search'); $crawler = self::request( 'POST', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid, array( - 'search_type' => $search_backend, + 'search_type' => $this->search_backend, 'action' => 'create', 'submit' => true, ) @@ -103,14 +79,14 @@ class phpbb_functional_search_test extends phpbb_functional_test_case $this->assertContains($this->lang('SEARCH_INDEX_CREATED'), $crawler->text()); } - protected function delete_search_index($search_backend) + protected function delete_search_index() { $this->add_lang('acp/search'); $crawler = self::request( 'POST', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid, array( - 'search_type' => $search_backend, + 'search_type' => $this->search_backend, 'action' => 'delete', 'submit' => true, ) From 5825bf7d33822a2b7be5e05150ed5c476a82ef1e Mon Sep 17 00:00:00 2001 From: Dhruv Date: Wed, 19 Jun 2013 02:20:24 +0530 Subject: [PATCH 10/24] [ticket/11608] Use assertContainsLang to compare language strings PHPBB3-11608 --- tests/functional/search_test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index f7c9e949b6..2bcd16c7f1 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -76,7 +76,7 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case 'submit' => true, ) ); - $this->assertContains($this->lang('SEARCH_INDEX_CREATED'), $crawler->text()); + $this->assertContainsLang('SEARCH_INDEX_CREATED', $crawler->text()); } protected function delete_search_index() @@ -91,6 +91,6 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case 'submit' => true, ) ); - $this->assertContains($this->lang('SEARCH_INDEX_REMOVED'), $crawler->text()); + $this->assertContainsLang('SEARCH_INDEX_REMOVED', $crawler->text()); } } From 75d16da9fad8ae7ca067841b1f17dabef97dc0af Mon Sep 17 00:00:00 2001 From: Dhruv Date: Wed, 19 Jun 2013 02:23:14 +0530 Subject: [PATCH 11/24] [ticket/11608] Use assertEquals for more accurate assertions PHPBB3-11608 --- tests/functional/search_test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index 2bcd16c7f1..ec5f9de64b 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -16,14 +16,14 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case protected function search_found() { $crawler = self::request('GET', 'search.php?keywords=phpbb3+installation'); - $this->assertGreaterThan(0, $crawler->filter('.postbody')->count()); + $this->assertEquals(1, $crawler->filter('.postbody')->count()); $this->assertEquals(3, $crawler->filter('.posthilit')->count()); } protected function search_not_found() { $crawler = self::request('GET', 'search.php?keywords=loremipsumdedo'); - $this->assertLessThan(1, $crawler->filter('.postbody')->count()); + $this->assertEquals(0, $crawler->filter('.postbody')->count()); } public function test_search_backend() From e1030d3670feb5580ce51b6fc2ef3b8e9f8d2380 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Thu, 20 Jun 2013 18:42:42 +0530 Subject: [PATCH 12/24] [ticket/11608] Set sphinx id from test_config file for tests PHPBB3-11608 --- tests/functional/search_sphinx_test.php | 5 ++++- tests/test_framework/phpbb_test_case_helpers.php | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/functional/search_sphinx_test.php b/tests/functional/search_sphinx_test.php index c70ea04715..6b94f388c4 100644 --- a/tests/functional/search_sphinx_test.php +++ b/tests/functional/search_sphinx_test.php @@ -20,6 +20,9 @@ class phpbb_functional_search_sphinx_test extends phpbb_functional_search_test { parent::setUp(); $this->search_backend = 'phpbb_search_fulltext_sphinx'; - $this->markTestIncomplete('Sphinx search not running for the test board'); + if (!isset($config['fulltext_sphinx_id'])) + { + $this->markTestIncomplete('Sphinx search not running for the test board'); + } } } diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php index 351a3a9594..2f225fe7af 100644 --- a/tests/test_framework/phpbb_test_case_helpers.php +++ b/tests/test_framework/phpbb_test_case_helpers.php @@ -158,6 +158,11 @@ class phpbb_test_case_helpers { $config['redis_port'] = $phpbb_redis_port; } + + if (isset($fulltext_sphinx_id)) + { + $config['fulltext_sphinx_id'] = $fulltext_sphinx_id; + } } if (isset($_SERVER['PHPBB_TEST_DBMS'])) From b7d55b8ff882f702d02c152cdd6e2206c0b74c12 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Wed, 3 Jul 2013 23:25:19 +0530 Subject: [PATCH 13/24] [ticket/11608] pass keywords to search_found and search_not_found test PHPBB3-11608 --- tests/functional/search_test.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index ec5f9de64b..4ed49424b6 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -13,17 +13,19 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case { - protected function search_found() + protected function search_found($keywords) { - $crawler = self::request('GET', 'search.php?keywords=phpbb3+installation'); + $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(1, $crawler->filter('.postbody')->count()); $this->assertEquals(3, $crawler->filter('.posthilit')->count()); } - protected function search_not_found() + protected function search_not_found($keywords) { - $crawler = self::request('GET', 'search.php?keywords=loremipsumdedo'); + $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(0, $crawler->filter('.postbody')->count()); + $split_keywords_string = str_replace(array('+', '-'), ' ', $keywords); + $this->assertEquals($split_keywords_string, $crawler->filter('#keywords')->attr('value')); } public function test_search_backend() @@ -48,7 +50,7 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case try { $crawler->filter('.errorbox')->text(); - self::markTestSkipped("Search backend is not supported/running"); + $this->markTestSkipped("Search backend is not supported/running"); } catch (InvalidArgumentException $e) {} @@ -56,8 +58,8 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case } $this->logout(); - $this->search_found(); - $this->search_not_found(); + $this->search_found('phpbb3+installation'); + $this->search_not_found('loremipsumdedo'); $this->login(); $this->admin_login(); From 07c259f4b1036ab299c3293c3961125c19907017 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 6 Jul 2013 14:38:42 +0530 Subject: [PATCH 14/24] [ticket/11608] rename search_found and not_found method Rename search_found and search_not_found to assert_search_found and assert_search_not_found. Count .errorbox incase the search backend is not supported and skip tests PHPBB3-11608 --- tests/functional/search_test.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/tests/functional/search_test.php b/tests/functional/search_test.php index 4ed49424b6..2090e73a4c 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search_test.php @@ -12,15 +12,14 @@ */ abstract class phpbb_functional_search_test extends phpbb_functional_test_case { - - protected function search_found($keywords) + protected function assert_search_found($keywords) { $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(1, $crawler->filter('.postbody')->count()); $this->assertEquals(3, $crawler->filter('.posthilit')->count()); } - protected function search_not_found($keywords) + protected function assert_search_not_found($keywords) { $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(0, $crawler->filter('.postbody')->count()); @@ -47,19 +46,18 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case $values = $form->getValues(); $crawler = self::submit($form); - try + // check if search backend is not supported + if ($crawler->filter('.errorbox')->count() > 0); { - $crawler->filter('.errorbox')->text(); $this->markTestSkipped("Search backend is not supported/running"); } - catch (InvalidArgumentException $e) {} $this->create_search_index(); } $this->logout(); - $this->search_found('phpbb3+installation'); - $this->search_not_found('loremipsumdedo'); + $this->assert_search_found('phpbb3+installation'); + $this->assert_search_not_found('loremipsumdedo'); $this->login(); $this->admin_login(); From b31bb8653b12f984957d4c62ccf280deb1e6400e Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 6 Jul 2013 20:36:41 +0530 Subject: [PATCH 15/24] [ticket/11608] add search functional tests to search subfolder PHPBB3-11608 --- tests/functional/{search_test.php => search/base_test.php} | 5 ++--- .../{search_mysql_test.php => search/mysql_test.php} | 4 ++-- .../{search_native_test.php => search/native_test.php} | 4 ++-- .../{search_postgres_test.php => search/postgres_test.php} | 4 ++-- .../{search_sphinx_test.php => search/sphinx_test.php} | 4 ++-- 5 files changed, 10 insertions(+), 11 deletions(-) rename tests/functional/{search_test.php => search/base_test.php} (94%) rename tests/functional/{search_mysql_test.php => search/mysql_test.php} (84%) rename tests/functional/{search_native_test.php => search/native_test.php} (84%) rename tests/functional/{search_postgres_test.php => search/postgres_test.php} (84%) rename tests/functional/{search_sphinx_test.php => search/sphinx_test.php} (88%) diff --git a/tests/functional/search_test.php b/tests/functional/search/base_test.php similarity index 94% rename from tests/functional/search_test.php rename to tests/functional/search/base_test.php index 2090e73a4c..538db6de89 100644 --- a/tests/functional/search_test.php +++ b/tests/functional/search/base_test.php @@ -10,7 +10,7 @@ /** * @group functional */ -abstract class phpbb_functional_search_test extends phpbb_functional_test_case +abstract class phpbb_functional_search_base_test extends phpbb_functional_test_case { protected function assert_search_found($keywords) { @@ -47,11 +47,10 @@ abstract class phpbb_functional_search_test extends phpbb_functional_test_case $crawler = self::submit($form); // check if search backend is not supported - if ($crawler->filter('.errorbox')->count() > 0); + if ($crawler->filter('.errorbox')->count() > 0) { $this->markTestSkipped("Search backend is not supported/running"); } - $this->create_search_index(); } diff --git a/tests/functional/search_mysql_test.php b/tests/functional/search/mysql_test.php similarity index 84% rename from tests/functional/search_mysql_test.php rename to tests/functional/search/mysql_test.php index b55d0c808c..f27269d76a 100644 --- a/tests/functional/search_mysql_test.php +++ b/tests/functional/search/mysql_test.php @@ -7,12 +7,12 @@ * */ -require_once dirname(__FILE__) . '/search_test.php'; +require_once dirname(__FILE__) . '/base_test.php'; /** * @group functional */ -class phpbb_functional_search_mysql_test extends phpbb_functional_search_test +class phpbb_functional_search_mysql_test extends phpbb_functional_search_base_test { protected $search_backend; diff --git a/tests/functional/search_native_test.php b/tests/functional/search/native_test.php similarity index 84% rename from tests/functional/search_native_test.php rename to tests/functional/search/native_test.php index 9bcdc01547..d2f274e051 100644 --- a/tests/functional/search_native_test.php +++ b/tests/functional/search/native_test.php @@ -7,12 +7,12 @@ * */ -require_once dirname(__FILE__) . '/search_test.php'; +require_once dirname(__FILE__) . '/base_test.php'; /** * @group functional */ -class phpbb_functional_search_native_test extends phpbb_functional_search_test +class phpbb_functional_search_native_test extends phpbb_functional_search_base_test { protected $search_backend; diff --git a/tests/functional/search_postgres_test.php b/tests/functional/search/postgres_test.php similarity index 84% rename from tests/functional/search_postgres_test.php rename to tests/functional/search/postgres_test.php index 5b46db5c82..110360f28e 100644 --- a/tests/functional/search_postgres_test.php +++ b/tests/functional/search/postgres_test.php @@ -7,12 +7,12 @@ * */ -require_once dirname(__FILE__) . '/search_test.php'; +require_once dirname(__FILE__) . '/base_test.php'; /** * @group functional */ -class phpbb_functional_search_postgres_test extends phpbb_functional_search_test +class phpbb_functional_search_postgres_test extends phpbb_functional_search_base_test { protected $search_backend; diff --git a/tests/functional/search_sphinx_test.php b/tests/functional/search/sphinx_test.php similarity index 88% rename from tests/functional/search_sphinx_test.php rename to tests/functional/search/sphinx_test.php index 6b94f388c4..048f4e491b 100644 --- a/tests/functional/search_sphinx_test.php +++ b/tests/functional/search/sphinx_test.php @@ -7,12 +7,12 @@ * */ -require_once dirname(__FILE__) . '/search_test.php'; +require_once dirname(__FILE__) . '/base_test.php'; /** * @group functional */ -class phpbb_functional_search_sphinx_test extends phpbb_functional_search_test +class phpbb_functional_search_sphinx_test extends phpbb_functional_search_base_test { protected $search_backend; From a3482bded45272aa10f494e89e9e35d48ebf9e29 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 6 Jul 2013 22:55:52 +0530 Subject: [PATCH 16/24] [ticket/11608] remove setUp method override PHPBB3-11608 --- tests/functional/search/mysql_test.php | 8 +------- tests/functional/search/native_test.php | 8 +------- tests/functional/search/postgres_test.php | 8 +------- tests/functional/search/sphinx_test.php | 12 +----------- 4 files changed, 4 insertions(+), 32 deletions(-) diff --git a/tests/functional/search/mysql_test.php b/tests/functional/search/mysql_test.php index f27269d76a..a94b9a7dc5 100644 --- a/tests/functional/search/mysql_test.php +++ b/tests/functional/search/mysql_test.php @@ -14,11 +14,5 @@ require_once dirname(__FILE__) . '/base_test.php'; */ class phpbb_functional_search_mysql_test extends phpbb_functional_search_base_test { - protected $search_backend; - - public function setUp() - { - parent::setUp(); - $this->search_backend = 'phpbb_search_fulltext_mysql'; - } + protected $search_backend = 'phpbb_search_fulltext_mysql'; } diff --git a/tests/functional/search/native_test.php b/tests/functional/search/native_test.php index d2f274e051..a442bb758a 100644 --- a/tests/functional/search/native_test.php +++ b/tests/functional/search/native_test.php @@ -14,11 +14,5 @@ require_once dirname(__FILE__) . '/base_test.php'; */ class phpbb_functional_search_native_test extends phpbb_functional_search_base_test { - protected $search_backend; - - public function setUp() - { - parent::setUp(); - $this->search_backend = 'phpbb_search_fulltext_native'; - } + protected $search_backend = 'phpbb_search_fulltext_native'; } diff --git a/tests/functional/search/postgres_test.php b/tests/functional/search/postgres_test.php index 110360f28e..f268be1054 100644 --- a/tests/functional/search/postgres_test.php +++ b/tests/functional/search/postgres_test.php @@ -14,11 +14,5 @@ require_once dirname(__FILE__) . '/base_test.php'; */ class phpbb_functional_search_postgres_test extends phpbb_functional_search_base_test { - protected $search_backend; - - public function setUp() - { - parent::setUp(); - $this->search_backend = 'phpbb_search_fulltext_postgres'; - } + protected $search_backend = 'phpbb_search_fulltext_postgres'; } diff --git a/tests/functional/search/sphinx_test.php b/tests/functional/search/sphinx_test.php index 048f4e491b..47ad21dfdb 100644 --- a/tests/functional/search/sphinx_test.php +++ b/tests/functional/search/sphinx_test.php @@ -14,15 +14,5 @@ require_once dirname(__FILE__) . '/base_test.php'; */ class phpbb_functional_search_sphinx_test extends phpbb_functional_search_base_test { - protected $search_backend; - - public function setUp() - { - parent::setUp(); - $this->search_backend = 'phpbb_search_fulltext_sphinx'; - if (!isset($config['fulltext_sphinx_id'])) - { - $this->markTestIncomplete('Sphinx search not running for the test board'); - } - } + protected $search_backend = 'phpbb_search_fulltext_sphinx'; } From c31035d047d8c7b35c32ce72492c66e602586c5e Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sun, 28 Jul 2013 00:25:55 +0530 Subject: [PATCH 17/24] [ticket/11608] Mark failed search test incomplete for native search PHPBB3-11608 --- tests/functional/search/base_test.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/functional/search/base_test.php b/tests/functional/search/base_test.php index 538db6de89..7482f5624e 100644 --- a/tests/functional/search/base_test.php +++ b/tests/functional/search/base_test.php @@ -23,6 +23,10 @@ abstract class phpbb_functional_search_base_test extends phpbb_functional_test_c { $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(0, $crawler->filter('.postbody')->count()); + if ($this->search_backend == 'phpbb_search_fulltext_native') + { + $this->markTestIncomplete('Native search when fails doesn\'t show the search query'); + } $split_keywords_string = str_replace(array('+', '-'), ' ', $keywords); $this->assertEquals($split_keywords_string, $crawler->filter('#keywords')->attr('value')); } From 5135ae2a246967b6ad99405e4e616fbe0246311c Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 31 Aug 2013 23:30:50 +0530 Subject: [PATCH 18/24] [ticket/11608] Mark sphinx tests as incomplete for now PHPBB3-11608 --- tests/functional/search/base_test.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/functional/search/base_test.php b/tests/functional/search/base_test.php index 7482f5624e..cc048e5ab8 100644 --- a/tests/functional/search/base_test.php +++ b/tests/functional/search/base_test.php @@ -33,6 +33,11 @@ abstract class phpbb_functional_search_base_test extends phpbb_functional_test_c public function test_search_backend() { + if ($this->search_backend == 'phpbb_search_fulltext_sphinx') + { + $this->markTestIncomplete('Sphinx Tests are not supported'); + } + $this->login(); $this->admin_login(); From 1cd888e0eeb03c61d3bbe01968cedefa82eced59 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sun, 1 Sep 2013 19:23:57 +0530 Subject: [PATCH 19/24] [ticket/11608] Mark postgres search not found test as incomplete PHPBB3-11608 --- tests/functional/search/base_test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/functional/search/base_test.php b/tests/functional/search/base_test.php index cc048e5ab8..fd17048371 100644 --- a/tests/functional/search/base_test.php +++ b/tests/functional/search/base_test.php @@ -23,9 +23,9 @@ abstract class phpbb_functional_search_base_test extends phpbb_functional_test_c { $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(0, $crawler->filter('.postbody')->count()); - if ($this->search_backend == 'phpbb_search_fulltext_native') + if ($this->search_backend == 'phpbb_search_fulltext_native' || $this->search_backend == 'phpbb_search_fulltext_postgres') { - $this->markTestIncomplete('Native search when fails doesn\'t show the search query'); + $this->markTestIncomplete('Native and Postgres search when fails doesn\'t show the search query'); } $split_keywords_string = str_replace(array('+', '-'), ' ', $keywords); $this->assertEquals($split_keywords_string, $crawler->filter('#keywords')->attr('value')); From 77ef82682eeb1aea6bccc2ca7b8a14aaad0d02c5 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sun, 1 Sep 2013 20:03:02 +0530 Subject: [PATCH 20/24] [ticket/11608] Remove suffix test from base class Rename base class to phpbb_functional_search_base and fix Docblocks as per phpbb guidelines. PHPBB3-11608 --- tests/functional/search/base_test.php | 18 +++++++++--------- tests/functional/search/mysql_test.php | 14 +++++++------- tests/functional/search/native_test.php | 14 +++++++------- tests/functional/search/postgres_test.php | 14 +++++++------- tests/functional/search/sphinx_test.php | 14 +++++++------- 5 files changed, 37 insertions(+), 37 deletions(-) diff --git a/tests/functional/search/base_test.php b/tests/functional/search/base_test.php index fd17048371..c6a5a18c94 100644 --- a/tests/functional/search/base_test.php +++ b/tests/functional/search/base_test.php @@ -1,16 +1,16 @@ Date: Sun, 1 Sep 2013 22:15:33 +0530 Subject: [PATCH 21/24] [ticket/11608] Rename base search test class file PHPBB3-11608 --- tests/functional/search/{base_test.php => base.php} | 0 tests/functional/search/mysql_test.php | 2 +- tests/functional/search/native_test.php | 2 +- tests/functional/search/postgres_test.php | 2 +- tests/functional/search/sphinx_test.php | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename tests/functional/search/{base_test.php => base.php} (100%) diff --git a/tests/functional/search/base_test.php b/tests/functional/search/base.php similarity index 100% rename from tests/functional/search/base_test.php rename to tests/functional/search/base.php diff --git a/tests/functional/search/mysql_test.php b/tests/functional/search/mysql_test.php index e09fa0008c..db6f688e2a 100644 --- a/tests/functional/search/mysql_test.php +++ b/tests/functional/search/mysql_test.php @@ -7,7 +7,7 @@ * */ -require_once dirname(__FILE__) . '/base_test.php'; +require_once dirname(__FILE__) . '/base.php'; /** * @group functional diff --git a/tests/functional/search/native_test.php b/tests/functional/search/native_test.php index c4af523b67..cefe87eb15 100644 --- a/tests/functional/search/native_test.php +++ b/tests/functional/search/native_test.php @@ -7,7 +7,7 @@ * */ -require_once dirname(__FILE__) . '/base_test.php'; +require_once dirname(__FILE__) . '/base.php'; /** * @group functional diff --git a/tests/functional/search/postgres_test.php b/tests/functional/search/postgres_test.php index cb769a2857..900e01da2a 100644 --- a/tests/functional/search/postgres_test.php +++ b/tests/functional/search/postgres_test.php @@ -7,7 +7,7 @@ * */ -require_once dirname(__FILE__) . '/base_test.php'; +require_once dirname(__FILE__) . '/base.php'; /** * @group functional diff --git a/tests/functional/search/sphinx_test.php b/tests/functional/search/sphinx_test.php index c12289e5c6..cc387d33a7 100644 --- a/tests/functional/search/sphinx_test.php +++ b/tests/functional/search/sphinx_test.php @@ -7,7 +7,7 @@ * */ -require_once dirname(__FILE__) . '/base_test.php'; +require_once dirname(__FILE__) . '/base.php'; /** * @group functional From 2b5311deac33677389b52b449476066a7302b727 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sun, 1 Sep 2013 22:25:27 +0530 Subject: [PATCH 22/24] [ticket/11608] Move markIncomplete to search backends test PHPBB3-11608 --- tests/functional/search/base.php | 9 --------- tests/functional/search/native_test.php | 5 +++++ tests/functional/search/postgres_test.php | 5 +++++ tests/functional/search/sphinx_test.php | 5 +++++ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/tests/functional/search/base.php b/tests/functional/search/base.php index c6a5a18c94..28327da914 100644 --- a/tests/functional/search/base.php +++ b/tests/functional/search/base.php @@ -23,21 +23,12 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case { $crawler = self::request('GET', 'search.php?keywords=' . $keywords); $this->assertEquals(0, $crawler->filter('.postbody')->count()); - if ($this->search_backend == 'phpbb_search_fulltext_native' || $this->search_backend == 'phpbb_search_fulltext_postgres') - { - $this->markTestIncomplete('Native and Postgres search when fails doesn\'t show the search query'); - } $split_keywords_string = str_replace(array('+', '-'), ' ', $keywords); $this->assertEquals($split_keywords_string, $crawler->filter('#keywords')->attr('value')); } public function test_search_backend() { - if ($this->search_backend == 'phpbb_search_fulltext_sphinx') - { - $this->markTestIncomplete('Sphinx Tests are not supported'); - } - $this->login(); $this->admin_login(); diff --git a/tests/functional/search/native_test.php b/tests/functional/search/native_test.php index cefe87eb15..63e7085308 100644 --- a/tests/functional/search/native_test.php +++ b/tests/functional/search/native_test.php @@ -15,4 +15,9 @@ require_once dirname(__FILE__) . '/base.php'; class phpbb_functional_search_native_test extends phpbb_functional_search_base { protected $search_backend = 'phpbb_search_fulltext_native'; + + protected function assert_search_not_found($keywords) + { + $this->markTestIncomplete('Native search when fails doesn\'t show the search query'); + } } diff --git a/tests/functional/search/postgres_test.php b/tests/functional/search/postgres_test.php index 900e01da2a..f733238c8f 100644 --- a/tests/functional/search/postgres_test.php +++ b/tests/functional/search/postgres_test.php @@ -15,4 +15,9 @@ require_once dirname(__FILE__) . '/base.php'; class phpbb_functional_search_postgres_test extends phpbb_functional_search_base { protected $search_backend = 'phpbb_search_fulltext_postgres'; + + protected function assert_search_not_found($keywords) + { + $this->markTestIncomplete('Postgres search when fails doesn\'t show the search query'); + } } diff --git a/tests/functional/search/sphinx_test.php b/tests/functional/search/sphinx_test.php index cc387d33a7..9db4138714 100644 --- a/tests/functional/search/sphinx_test.php +++ b/tests/functional/search/sphinx_test.php @@ -15,4 +15,9 @@ require_once dirname(__FILE__) . '/base.php'; class phpbb_functional_search_sphinx_test extends phpbb_functional_search_base { protected $search_backend = 'phpbb_search_fulltext_sphinx'; + + public function test_search_backend() + { + $this->markTestIncomplete('Sphinx Tests are not supported'); + } } From 67536eb9f78bb1834574bfa9c224775f6edbab2e Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 5 Oct 2013 21:21:15 +0530 Subject: [PATCH 23/24] [ticket/11608] Update search backend class names to namespaces PHPBB3-11608 --- tests/functional/search/mysql_test.php | 2 +- tests/functional/search/native_test.php | 2 +- tests/functional/search/postgres_test.php | 2 +- tests/functional/search/sphinx_test.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/functional/search/mysql_test.php b/tests/functional/search/mysql_test.php index db6f688e2a..0693c69968 100644 --- a/tests/functional/search/mysql_test.php +++ b/tests/functional/search/mysql_test.php @@ -14,5 +14,5 @@ require_once dirname(__FILE__) . '/base.php'; */ class phpbb_functional_search_mysql_test extends phpbb_functional_search_base { - protected $search_backend = 'phpbb_search_fulltext_mysql'; + protected $search_backend = '\phpbb\search\fulltext_mysql'; } diff --git a/tests/functional/search/native_test.php b/tests/functional/search/native_test.php index 63e7085308..ce568df616 100644 --- a/tests/functional/search/native_test.php +++ b/tests/functional/search/native_test.php @@ -14,7 +14,7 @@ require_once dirname(__FILE__) . '/base.php'; */ class phpbb_functional_search_native_test extends phpbb_functional_search_base { - protected $search_backend = 'phpbb_search_fulltext_native'; + protected $search_backend = '\phpbb\search\fulltext_native'; protected function assert_search_not_found($keywords) { diff --git a/tests/functional/search/postgres_test.php b/tests/functional/search/postgres_test.php index f733238c8f..487b8aeebb 100644 --- a/tests/functional/search/postgres_test.php +++ b/tests/functional/search/postgres_test.php @@ -14,7 +14,7 @@ require_once dirname(__FILE__) . '/base.php'; */ class phpbb_functional_search_postgres_test extends phpbb_functional_search_base { - protected $search_backend = 'phpbb_search_fulltext_postgres'; + protected $search_backend = '\phpbb\search\fulltext_postgres'; protected function assert_search_not_found($keywords) { diff --git a/tests/functional/search/sphinx_test.php b/tests/functional/search/sphinx_test.php index 9db4138714..ef2522f9ed 100644 --- a/tests/functional/search/sphinx_test.php +++ b/tests/functional/search/sphinx_test.php @@ -14,7 +14,7 @@ require_once dirname(__FILE__) . '/base.php'; */ class phpbb_functional_search_sphinx_test extends phpbb_functional_search_base { - protected $search_backend = 'phpbb_search_fulltext_sphinx'; + protected $search_backend = '\phpbb\search\fulltext_sphinx'; public function test_search_backend() { From 8c73d2834149bdea21c9feb9a5ab8c4525cd6bff Mon Sep 17 00:00:00 2001 From: Dhruv Date: Sat, 5 Oct 2013 22:49:55 +0530 Subject: [PATCH 24/24] [ticket/11608] Mark failed test as incomplete for mysql search backend PHPBB3-11608 --- tests/functional/search/mysql_test.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/functional/search/mysql_test.php b/tests/functional/search/mysql_test.php index 0693c69968..7af8051417 100644 --- a/tests/functional/search/mysql_test.php +++ b/tests/functional/search/mysql_test.php @@ -15,4 +15,9 @@ require_once dirname(__FILE__) . '/base.php'; class phpbb_functional_search_mysql_test extends phpbb_functional_search_base { protected $search_backend = '\phpbb\search\fulltext_mysql'; + + protected function assert_search_not_found($keywords) + { + $this->markTestIncomplete('MySQL search when fails doesn\'t show the search query'); + } }