From b0a69f791bb83b26dfa13079d6567a5bf67eb079 Mon Sep 17 00:00:00 2001 From: Julie Tibshirani Date: Tue, 17 Apr 2018 16:06:56 -0700 Subject: [PATCH 1/2] Fix the assertion message for an incorrect current version. --- .../org/elasticsearch/test/VersionUtils.java | 2 +- .../elasticsearch/test/VersionUtilsTests.java | 22 ++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java b/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java index 9fde8b66a1f96..766fc80ba5605 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java @@ -54,7 +54,7 @@ static Tuple, List> resolveReleasedVersions(Version curre Version last = versions.remove(versions.size() - 1); assert last.equals(current) : "The highest version must be the current one " - + "but was [" + versions.get(versions.size() - 1) + "] and current was [" + current + "]"; + + "but was [" + last + "] and current was [" + current + "]"; if (current.revision != 0) { /* If we are in a stable branch there should be no unreleased version constants diff --git a/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java b/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java index 67a9a40f0fc1f..14e65bc8538f7 100644 --- a/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java +++ b/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java @@ -28,9 +28,9 @@ import java.util.LinkedHashSet; import java.util.List; -import static java.util.Collections.singletonList; import static java.util.stream.Collectors.toCollection; import static java.util.stream.Collectors.toList; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.hamcrest.Matchers.lessThanOrEqualTo; @@ -305,6 +305,26 @@ public void testResolveReleasedVersionsAtNewMinorBranchIn6x() { TestNewMinorBranchIn6x.V_6_2_0))); } + public static class TestIncorrectCurrentVersion { + public static final Version V_5_3_0 = Version.fromString("5.3.0"); + public static final Version V_5_3_1 = Version.fromString("5.3.1"); + public static final Version V_5_4_0 = Version.fromString("5.4.0"); + public static final Version V_5_4_1 = Version.fromString("5.4.1"); + public static final Version CURRENT = V_5_4_1; + } + + public void testIncorrectCurrentVersion() { + Version previousVersion = TestIncorrectCurrentVersion.V_5_4_0; + try { + VersionUtils.resolveReleasedVersions(previousVersion, TestIncorrectCurrentVersion.class); + fail(); // Fail if there's no error, as we expect an assertion failure. + } catch (AssertionError e) { + String message = e.getMessage(); + assertThat(message, containsString(previousVersion.toString())); + assertThat(message, containsString(TestIncorrectCurrentVersion.CURRENT.toString())); + } + } + /** * Tests that {@link Version#minimumCompatibilityVersion()} and {@link VersionUtils#allReleasedVersions()} * agree with the list of wire and index compatible versions we build in gradle. From 6c6736e391712689259579fb4c702c56100f000f Mon Sep 17 00:00:00 2001 From: Julie Tibshirani Date: Tue, 17 Apr 2018 17:16:53 -0700 Subject: [PATCH 2/2] Use expectThrows instead of manually checking for an error. --- .../org/elasticsearch/test/VersionUtilsTests.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java b/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java index 14e65bc8538f7..3c8b349792b75 100644 --- a/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java +++ b/test/framework/src/test/java/org/elasticsearch/test/VersionUtilsTests.java @@ -315,14 +315,12 @@ public static class TestIncorrectCurrentVersion { public void testIncorrectCurrentVersion() { Version previousVersion = TestIncorrectCurrentVersion.V_5_4_0; - try { - VersionUtils.resolveReleasedVersions(previousVersion, TestIncorrectCurrentVersion.class); - fail(); // Fail if there's no error, as we expect an assertion failure. - } catch (AssertionError e) { - String message = e.getMessage(); - assertThat(message, containsString(previousVersion.toString())); - assertThat(message, containsString(TestIncorrectCurrentVersion.CURRENT.toString())); - } + AssertionError error = expectThrows(AssertionError.class, () -> + VersionUtils.resolveReleasedVersions(previousVersion, TestIncorrectCurrentVersion.class)); + + String message = error.getMessage(); + assertThat(message, containsString(TestIncorrectCurrentVersion.CURRENT.toString())); + assertThat(message, containsString(previousVersion.toString())); } /**