summaryrefslogtreecommitdiff
path: root/src/__tests__/VyOSElasticModernFulltextStorageEngineTestCase.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/__tests__/VyOSElasticModernFulltextStorageEngineTestCase.php')
-rw-r--r--src/__tests__/VyOSElasticModernFulltextStorageEngineTestCase.php69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/__tests__/VyOSElasticModernFulltextStorageEngineTestCase.php b/src/__tests__/VyOSElasticModernFulltextStorageEngineTestCase.php
new file mode 100644
index 0000000..7c0755c
--- /dev/null
+++ b/src/__tests__/VyOSElasticModernFulltextStorageEngineTestCase.php
@@ -0,0 +1,69 @@
+<?php
+
+/**
+ * Minimal concrete subclass for unit-testing the abstract engine.
+ * Only the abstract stubs from PhabricatorFulltextStorageEngine are
+ * satisfied here; no real Elasticsearch I/O occurs in tests.
+ */
+final class VyOSElasticModernFulltextStorageEngineTestDouble
+ extends VyOSElasticModernFulltextStorageEngine {
+
+ public function reindexAbstractDocument(
+ PhabricatorSearchAbstractDocument $doc) {
+ // no-op in tests
+ }
+
+ public function executeSearch(PhabricatorSavedQuery $query) {
+ return array();
+ }
+
+ public function indexExists() {
+ return false;
+ }
+
+ public function getIndexStats() {
+ return array();
+ }
+
+}
+
+final class VyOSElasticModernFulltextStorageEngineTestCase
+ extends PhutilTestCase {
+
+ private function newEngine() {
+ return new VyOSElasticModernFulltextStorageEngineTestDouble();
+ }
+
+ public function testSetVersionAcceptsSevenAndAbove() {
+ foreach (array(7, 8, 9, 100) as $v) {
+ $engine = $this->newEngine();
+ $caught = null;
+ try {
+ $engine->setVersion($v);
+ } catch (Exception $e) {
+ $caught = $e;
+ }
+ $this->assertEqual(
+ null,
+ $caught,
+ pht('Expected no exception for version=%d.', $v));
+ $this->assertEqual($v, $engine->getVersion());
+ }
+ }
+
+ public function testSetVersionRejectsBelowSeven() {
+ foreach (array(0, 1, 2, 5, 6) as $v) {
+ $engine = $this->newEngine();
+ $caught = null;
+ try {
+ $engine->setVersion($v);
+ } catch (Exception $e) {
+ $caught = $e;
+ }
+ $this->assertTrue(
+ $caught !== null,
+ pht('Expected an exception for version=%d.', $v));
+ }
+ }
+
+}