[TEST] Stabelize BWC tests for version < 1.1.0

This commit is contained in:
Simon Willnauer 2014-07-03 10:51:57 +02:00
parent 6e9a1f82b6
commit 38e9942bd6
1 changed files with 11 additions and 13 deletions

View File

@ -34,7 +34,6 @@ import org.elasticsearch.cluster.routing.IndexShardRoutingTable;
import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.routing.ShardRouting;
import org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider; import org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider;
import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.collect.ImmutableOpenMap;
import org.elasticsearch.common.lucene.uid.Versions;
import org.elasticsearch.common.regex.Regex; import org.elasticsearch.common.regex.Regex;
import org.elasticsearch.common.settings.ImmutableSettings; import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
@ -56,8 +55,6 @@ import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import static org.elasticsearch.index.query.FilterBuilders.existsFilter; import static org.elasticsearch.index.query.FilterBuilders.existsFilter;
import static org.elasticsearch.index.query.FilterBuilders.missingFilter; import static org.elasticsearch.index.query.FilterBuilders.missingFilter;
import static org.elasticsearch.index.query.QueryBuilders.*; import static org.elasticsearch.index.query.QueryBuilders.*;
import static org.elasticsearch.index.query.QueryBuilders.filteredQuery;
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
import static org.hamcrest.Matchers.*; import static org.hamcrest.Matchers.*;
@ -73,19 +70,20 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
public void testExternalVersion() throws Exception { public void testExternalVersion() throws Exception {
createIndex("test"); createIndex("test");
final boolean routing = randomBoolean(); final boolean routing = randomBoolean();
long version = compatibilityVersion().onOrAfter(Version.V_1_2_0) ? Versions.MATCH_ANY_PRE_1_2_0 : Versions.MATCH_ANY;
int numDocs = randomIntBetween(10, 20); int numDocs = randomIntBetween(10, 20);
for (int i = 0; i < numDocs; i++) { for (int i = 0; i < numDocs; i++) {
String id = Integer.toString(i); String id = Integer.toString(i);
String routingKey = routing ? randomRealisticUnicodeOfLength(10) : null; String routingKey = routing ? randomRealisticUnicodeOfLength(10) : null;
client().prepareIndex("test", "type1", id).setRouting(routingKey).setVersion(1).setVersionType(VersionType.EXTERNAL).setSource("field1", English.intToEnglish(i)).get(); final long version = randomIntBetween(0, Integer.MAX_VALUE);
client().prepareIndex("test", "type1", id).setRouting(routingKey).setVersion(version).setVersionType(VersionType.EXTERNAL).setSource("field1", English.intToEnglish(i)).get();
GetResponse get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(version).get(); GetResponse get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(version).get();
assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true)); assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true));
assertThat(get.getVersion(), equalTo(1l)); assertThat(get.getVersion(), equalTo(version));
client().prepareIndex("test", "type1", id).setRouting(routingKey).setVersion(2).setVersionType(VersionType.EXTERNAL).setSource("field1", English.intToEnglish(i)).get(); final long nextVersion = version + randomIntBetween(0, Integer.MAX_VALUE);
get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(version).get(); client().prepareIndex("test", "type1", id).setRouting(routingKey).setVersion(nextVersion).setVersionType(VersionType.EXTERNAL).setSource("field1", English.intToEnglish(i)).get();
get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(nextVersion).get();
assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true)); assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true));
assertThat(get.getVersion(), equalTo(2l)); assertThat(get.getVersion(), equalTo(nextVersion));
} }
} }
@ -96,17 +94,16 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
public void testInternalVersion() throws Exception { public void testInternalVersion() throws Exception {
createIndex("test"); createIndex("test");
final boolean routing = randomBoolean(); final boolean routing = randomBoolean();
long version = compatibilityVersion().onOrAfter(Version.V_1_2_0) ? Versions.MATCH_ANY_PRE_1_2_0 : Versions.MATCH_ANY;
int numDocs = randomIntBetween(10, 20); int numDocs = randomIntBetween(10, 20);
for (int i = 0; i < numDocs; i++) { for (int i = 0; i < numDocs; i++) {
String routingKey = routing ? randomRealisticUnicodeOfLength(10) : null; String routingKey = routing ? randomRealisticUnicodeOfLength(10) : null;
String id = Integer.toString(i); String id = Integer.toString(i);
assertThat(id, client().prepareIndex("test", "type1", id).setRouting(routingKey).setSource("field1", English.intToEnglish(i)).get().isCreated(), is(true)); assertThat(id, client().prepareIndex("test", "type1", id).setRouting(routingKey).setSource("field1", English.intToEnglish(i)).get().isCreated(), is(true));
GetResponse get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(version).get(); GetResponse get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(1).get();
assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true)); assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true));
assertThat(get.getVersion(), equalTo(1l)); assertThat(get.getVersion(), equalTo(1l));
client().prepareIndex("test", "type1", id).setRouting(routingKey).setSource("field1", English.intToEnglish(i)).execute().actionGet(); client().prepareIndex("test", "type1", id).setRouting(routingKey).setSource("field1", English.intToEnglish(i)).execute().actionGet();
get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(version).get(); get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(2).get();
assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true)); assertThat("Document with ID " +id + " should exist but doesn't", get.isExists(), is(true));
assertThat(get.getVersion(), equalTo(2l)); assertThat(get.getVersion(), equalTo(2l));
} }
@ -339,7 +336,9 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
* This filter had a major upgrade in 1.3 where we started to index the field names. Lets see if they still work as expected... * This filter had a major upgrade in 1.3 where we started to index the field names. Lets see if they still work as expected...
* this test is basically copied from SimpleQueryTests... * this test is basically copied from SimpleQueryTests...
*/ */
@Test
public void testExistsFilter() throws IOException, ExecutionException, InterruptedException { public void testExistsFilter() throws IOException, ExecutionException, InterruptedException {
assumeTrue("this test fails often with 1.0.3 skipping for now....",compatibilityVersion().onOrAfter(Version.V_1_1_0));
for (;;) { for (;;) {
createIndex("test"); createIndex("test");
indexRandom(true, indexRandom(true,
@ -399,7 +398,6 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
} }
assertVersionCreated(Version.CURRENT, "test"); // after upgrade we have current version assertVersionCreated(Version.CURRENT, "test"); // after upgrade we have current version
} }