Пример #1
0
  public void testAllVersionsTested() throws Exception {
    SortedSet<String> expectedVersions = new TreeSet<>();
    for (Version v : VersionUtils.allVersions()) {
      if (VersionUtils.isSnapshot(v))
        continue; // snapshots are unreleased, so there is no backcompat yet
      if (v.isRelease() == false) continue; // no guarantees for prereleases
      if (v.onOrBefore(Version.V_2_0_0_beta1))
        continue; // we can only test back one major lucene version
      if (v.equals(Version.CURRENT))
        continue; // the current version is always compatible with itself
      expectedVersions.add("index-" + v.toString() + ".zip");
    }

    for (String index : indexes) {
      if (expectedVersions.remove(index) == false) {
        logger.warn("Old indexes tests contain extra index: {}", index);
      }
    }
    if (expectedVersions.isEmpty() == false) {
      StringBuilder msg = new StringBuilder("Old index tests are missing indexes:");
      for (String expected : expectedVersions) {
        msg.append("\n" + expected);
      }
      fail(msg.toString());
    }
  }
Пример #2
0
 public void testAcceptDocValuesFormat() throws IOException {
   String mapping =
       XContentFactory.jsonBuilder()
           .startObject()
           .startObject("type")
           .startObject("properties")
           .startObject("field")
           .field("type", "string")
           .field("doc_values_format", Codec.getDefault().docValuesFormat().getName())
           .endObject()
           .endObject()
           .endObject()
           .endObject()
           .string();
   int i = 0;
   for (Version v : VersionUtils.allVersions()) {
     if (v.onOrAfter(Version.V_2_0_0) == false) {
       // no need to test, we don't support upgrading from these versions
       continue;
     }
     IndexService indexService =
         createIndex(
             "test-" + i++,
             Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, v).build());
     DocumentMapperParser parser = indexService.mapperService().documentMapperParser();
     try {
       parser.parse("type", new CompressedXContent(mapping));
       if (v.onOrAfter(Version.V_2_0_0_beta1)) {
         fail("Elasticsearch 2.0 should not support custom postings formats");
       }
     } catch (MapperParsingException e) {
       if (v.before(Version.V_2_0_0_beta1)) {
         // Elasticsearch 1.x should ignore custom postings formats
         throw e;
       }
       Assert.assertThat(
           e.getMessage(), containsString("unsupported parameters:  [doc_values_format"));
     }
   }
 }