Browse Source

[Stempel] move integration tests to REST tests

We can keep only unit tests in plugins instead of starting each time a local node and running tests against it.

Also follow up of #12091
David Pilato 10 years ago
parent
commit
19b2e77bc2

+ 35 - 0
plugins/analysis-stempel/rest-api-spec/test/analysis_stempel/20_search.yaml

@@ -0,0 +1,35 @@
+# Integration tests for Stempel analysis component
+#
+---
+"Index Stempel content":
+    - do:
+        indices.create:
+            index:  test
+            body:
+                mappings:
+                    type:
+                        properties:
+                            text:
+                                type:     string
+                                analyzer: polish
+    - do:
+       cluster.health:
+           wait_for_status: yellow
+
+    - do:
+      index:
+          index:  test
+          type:   type
+          id:     1
+          body:   { "text": "studenta był" }
+    - do:
+      indices.refresh: {}
+
+    - do:
+        search:
+            index: test
+            body:
+                query:
+                    match:
+                        text: student
+    - match: { hits.total: 1 }

+ 0 - 87
plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/SimplePolishIntegrationTests.java

@@ -1,87 +0,0 @@
-/*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.elasticsearch.index.analysis;
-
-import org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.plugins.PluginsService;
-import org.elasticsearch.test.ElasticsearchIntegrationTest;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.concurrent.ExecutionException;
-
-import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-
-@ElasticsearchIntegrationTest.ClusterScope(numDataNodes = 1, scope = ElasticsearchIntegrationTest.Scope.SUITE)
-public class SimplePolishIntegrationTests extends ElasticsearchIntegrationTest {
-
-    @Override
-    protected Settings nodeSettings(int nodeOrdinal) {
-        return Settings.builder()
-                .put(super.nodeSettings(nodeOrdinal))
-                .put("plugins." + PluginsService.LOAD_PLUGIN_FROM_CLASSPATH, true)
-                .build();
-    }
-
-    @Test
-    public void testPolishAnalyzer() throws ExecutionException, InterruptedException {
-        AnalyzeResponse response = client().admin().indices()
-                .prepareAnalyze("wirtualna polska").setAnalyzer("polish")
-                .execute().get();
-
-        assertThat(response, notNullValue());
-        assertThat(response.getTokens().size(), is(2));
-    }
-
-    @Test
-    public void testPolishStemmerTokenFilter() throws ExecutionException, InterruptedException {
-        AnalyzeResponse response = client().admin().indices()
-                .prepareAnalyze("canona").setTokenFilters("polish_stem")
-                .execute().get();
-
-        assertThat(response, notNullValue());
-        assertThat(response.getTokens().size(), is(1));
-    }
-
-    @Test
-    public void testPolishAnalyzerInMapping() throws ExecutionException, InterruptedException, IOException {
-        final XContentBuilder mapping = jsonBuilder().startObject()
-            .startObject("type")
-                .startObject("properties")
-                    .startObject("foo")
-                        .field("type", "string")
-                        .field("analyzer", "polish")
-                    .endObject()
-                .endObject()
-            .endObject()
-            .endObject();
-
-        client().admin().indices().prepareCreate("test").addMapping("type", mapping).get();
-
-        index("test", "type", "1", "foo", "wirtualna polska");
-
-        ensureYellow();
-    }
-
-}