Browse Source

Misc conversions of Version.transportVersion in tests to something else (#94892)

Simon Cooper 2 years ago
parent
commit
2bec7f4d8b
13 changed files with 38 additions and 47 deletions
  1. 2 3
      modules/transport-netty4/src/test/java/org/elasticsearch/transport/netty4/SimpleNetty4TransportTests.java
  2. 4 5
      server/src/test/java/org/elasticsearch/ExceptionSerializationTests.java
  3. 5 4
      server/src/test/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsResponseTests.java
  4. 1 1
      server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java
  5. 0 8
      test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java
  6. 0 16
      test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java
  7. 5 1
      x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/role/PutRoleRequestTests.java
  8. 5 1
      x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponseTests.java
  9. 2 1
      x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationSerializationTests.java
  10. 5 3
      x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java
  11. 5 1
      x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/RoleDescriptorTests.java
  12. 2 1
      x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptorTests.java
  13. 2 2
      x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/netty4/SimpleSecurityNetty4ServerTransportTests.java

+ 2 - 3
modules/transport-netty4/src/test/java/org/elasticsearch/transport/netty4/SimpleNetty4TransportTests.java

@@ -23,7 +23,6 @@ import org.elasticsearch.core.IOUtils;
 import org.elasticsearch.core.TimeValue;
 import org.elasticsearch.indices.breaker.NoneCircuitBreakerService;
 import org.elasticsearch.mocksocket.MockServerSocket;
-import org.elasticsearch.test.TransportVersionUtils;
 import org.elasticsearch.test.transport.MockTransportService;
 import org.elasticsearch.test.transport.StubbableTransport;
 import org.elasticsearch.transport.AbstractSimpleTransportTestCase;
@@ -68,7 +67,6 @@ public class SimpleNetty4TransportTests extends AbstractSimpleTransportTestCase
             new NoneCircuitBreakerService(),
             new SharedGroupFactory(settings)
         ) {
-
             @Override
             public void executeHandshake(
                 DiscoveryNode node,
@@ -79,7 +77,8 @@ public class SimpleNetty4TransportTests extends AbstractSimpleTransportTestCase
                 if (doHandshake) {
                     super.executeHandshake(node, channel, profile, listener);
                 } else {
-                    listener.onResponse(TransportVersionUtils.minimumCompatibilityVersion(version));
+                    assert getVersion().equals(TransportVersion.CURRENT);
+                    listener.onResponse(TransportVersion.MINIMUM_COMPATIBLE);
                 }
             }
         };

+ 4 - 5
server/src/test/java/org/elasticsearch/ExceptionSerializationTests.java

@@ -81,7 +81,6 @@ import org.elasticsearch.snapshots.SnapshotInProgressException;
 import org.elasticsearch.snapshots.SnapshotNameAlreadyInUseException;
 import org.elasticsearch.test.ESTestCase;
 import org.elasticsearch.test.TransportVersionUtils;
-import org.elasticsearch.test.VersionUtils;
 import org.elasticsearch.transport.ActionNotFoundTransportException;
 import org.elasticsearch.transport.ActionTransportException;
 import org.elasticsearch.transport.ConnectTransportException;
@@ -890,16 +889,16 @@ public class ExceptionSerializationTests extends ESTestCase {
     public void testShardLockObtainFailedException() throws IOException {
         ShardId shardId = new ShardId("foo", "_na_", 1);
         ShardLockObtainFailedException orig = new ShardLockObtainFailedException(shardId, "boom");
-        Version version = VersionUtils.randomIndexCompatibleVersion(random());
-        ShardLockObtainFailedException ex = serialize(orig, version.transportVersion);
+        TransportVersion version = TransportVersionUtils.randomCompatibleVersion(random());
+        ShardLockObtainFailedException ex = serialize(orig, version);
         assertEquals(orig.getMessage(), ex.getMessage());
         assertEquals(orig.getShardId(), ex.getShardId());
     }
 
     public void testSnapshotInProgressException() throws IOException {
         SnapshotInProgressException orig = new SnapshotInProgressException("boom");
-        Version version = VersionUtils.randomIndexCompatibleVersion(random());
-        SnapshotInProgressException ex = serialize(orig, version.transportVersion);
+        TransportVersion version = TransportVersionUtils.randomCompatibleVersion(random());
+        SnapshotInProgressException ex = serialize(orig, version);
         assertEquals(orig.getMessage(), ex.getMessage());
     }
 

+ 5 - 4
server/src/test/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsResponseTests.java

@@ -8,7 +8,7 @@
 
 package org.elasticsearch.action.admin.cluster.shards;
 
-import org.elasticsearch.Version;
+import org.elasticsearch.TransportVersion;
 import org.elasticsearch.cluster.node.DiscoveryNode;
 import org.elasticsearch.cluster.routing.ShardRouting;
 import org.elasticsearch.cluster.routing.ShardRoutingState;
@@ -24,6 +24,7 @@ import org.elasticsearch.index.shard.ShardId;
 import org.elasticsearch.search.SearchModule;
 import org.elasticsearch.search.internal.AliasFilter;
 import org.elasticsearch.test.ESTestCase;
+import org.elasticsearch.test.TransportVersionUtils;
 import org.elasticsearch.test.VersionUtils;
 
 import java.util.ArrayList;
@@ -71,12 +72,12 @@ public class ClusterSearchShardsResponseTests extends ESTestCase {
         List<NamedWriteableRegistry.Entry> entries = new ArrayList<>();
         entries.addAll(searchModule.getNamedWriteables());
         NamedWriteableRegistry namedWriteableRegistry = new NamedWriteableRegistry(entries);
-        Version version = VersionUtils.randomIndexCompatibleVersion(random());
+        TransportVersion version = TransportVersionUtils.randomCompatibleVersion(random());
         try (BytesStreamOutput out = new BytesStreamOutput()) {
-            out.setTransportVersion(version.transportVersion);
+            out.setTransportVersion(version);
             clusterSearchShardsResponse.writeTo(out);
             try (StreamInput in = new NamedWriteableAwareStreamInput(out.bytes().streamInput(), namedWriteableRegistry)) {
-                in.setTransportVersion(version.transportVersion);
+                in.setTransportVersion(version);
                 ClusterSearchShardsResponse deserialized = new ClusterSearchShardsResponse(in);
                 assertArrayEquals(clusterSearchShardsResponse.getNodes(), deserialized.getNodes());
                 assertEquals(clusterSearchShardsResponse.getGroups().length, deserialized.getGroups().length);

+ 1 - 1
server/src/test/java/org/elasticsearch/common/io/stream/VersionCheckingStreamOutputTests.java

@@ -34,7 +34,7 @@ public class VersionCheckingStreamOutputTests extends ESTestCase {
     }
 
     public void testCheckVersionCompatibility() throws IOException {
-        TransportVersion streamVersion = TransportVersionUtils.randomPreviousCompatibleVersion(random(), TransportVersion.CURRENT);
+        TransportVersion streamVersion = TransportVersionUtils.randomCompatibleVersion(random());
         try (VersionCheckingStreamOutput out = new VersionCheckingStreamOutput(streamVersion)) {
             out.writeNamedWriteable(QueryBuilders.matchAllQuery());
 

+ 0 - 8
test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java

@@ -109,16 +109,8 @@ public class TransportVersionUtils {
         return ALL_VERSIONS.get(place);
     }
 
-    public static TransportVersion minimumCompatibilityVersion(TransportVersion version) {
-        return VersionUtils.findVersion(version).minimumCompatibilityVersion().transportVersion;
-    }
-
     /** Returns a random {@code TransportVersion} that is compatible with {@link TransportVersion#CURRENT} */
     public static TransportVersion randomCompatibleVersion(Random random) {
         return randomVersionBetween(random, TransportVersion.MINIMUM_COMPATIBLE, TransportVersion.CURRENT);
     }
-
-    public static TransportVersion randomPreviousCompatibleVersion(Random random, TransportVersion version) {
-        return randomVersionBetween(random, minimumCompatibilityVersion(version), getPreviousVersion(version));
-    }
 }

+ 0 - 16
test/framework/src/main/java/org/elasticsearch/test/VersionUtils.java

@@ -8,7 +8,6 @@
 
 package org.elasticsearch.test;
 
-import org.elasticsearch.TransportVersion;
 import org.elasticsearch.Version;
 import org.elasticsearch.core.Nullable;
 import org.elasticsearch.core.Tuple;
@@ -17,7 +16,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.NoSuchElementException;
 import java.util.Optional;
 import java.util.Random;
 import java.util.stream.Collectors;
@@ -192,20 +190,6 @@ public class VersionUtils {
         return ALL_VERSIONS.get(random.nextInt(ALL_VERSIONS.size()));
     }
 
-    /**
-     * Returns the highest Version that has this or a lesser TransportVersion.
-     */
-    static Version findVersion(TransportVersion transportVersion) {
-        // search backwards
-        for (int i = ALL_VERSIONS.size() - 1; i >= 0; i--) {
-            Version v = ALL_VERSIONS.get(i);
-            if (v.transportVersion.compareTo(transportVersion) <= 0) {
-                return v;
-            }
-        }
-        throw new NoSuchElementException("No valid Version found");
-    }
-
     /** Returns a random {@link Version} from all available versions, that is compatible with the given version. */
     public static Version randomCompatibleVersion(Random random, Version version) {
         final List<Version> compatible = ALL_VERSIONS.stream().filter(version::isCompatible).collect(Collectors.toList());

+ 5 - 1
x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/role/PutRoleRequestTests.java

@@ -183,7 +183,11 @@ public class PutRoleRequestTests extends ESTestCase {
         final TransportVersion versionBeforeRemoteIndices = TransportVersionUtils.getPreviousVersion(
             RoleDescriptor.TRANSPORT_VERSION_REMOTE_INDICES
         );
-        final TransportVersion version = TransportVersionUtils.randomPreviousCompatibleVersion(random(), versionBeforeRemoteIndices);
+        final TransportVersion version = TransportVersionUtils.randomVersionBetween(
+            random(),
+            TransportVersion.V_7_17_0,
+            versionBeforeRemoteIndices
+        );
         out.setTransportVersion(version);
 
         final PutRoleRequest original = buildRandomRequest(randomBoolean());

+ 5 - 1
x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/user/GetUserPrivilegesResponseTests.java

@@ -86,7 +86,11 @@ public class GetUserPrivilegesResponseTests extends ESTestCase {
         final TransportVersion versionBeforeRemoteIndices = TransportVersionUtils.getPreviousVersion(
             RoleDescriptor.TRANSPORT_VERSION_REMOTE_INDICES
         );
-        final TransportVersion version = TransportVersionUtils.randomPreviousCompatibleVersion(random(), versionBeforeRemoteIndices);
+        final TransportVersion version = TransportVersionUtils.randomVersionBetween(
+            random(),
+            TransportVersion.V_7_17_0,
+            versionBeforeRemoteIndices
+        );
         out.setTransportVersion(version);
 
         final GetUserPrivilegesResponse original = randomResponse();

+ 2 - 1
x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationSerializationTests.java

@@ -82,8 +82,9 @@ public class AuthenticationSerializationTests extends ESTestCase {
             : AuthenticationTestHelper.builder().build();
 
         final BytesStreamOutput out = new BytesStreamOutput();
-        final TransportVersion version = TransportVersionUtils.randomPreviousCompatibleVersion(
+        final TransportVersion version = TransportVersionUtils.randomVersionBetween(
             random(),
+            TransportVersion.V_7_17_0,
             Authentication.VERSION_CROSS_CLUSTER_ACCESS_REALM
         );
         out.setTransportVersion(version);

+ 5 - 3
x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java

@@ -906,9 +906,10 @@ public class AuthenticationTests extends ESTestCase {
             )
             .build();
         // pick a version before that of the authentication instance to force a rewrite
-        final TransportVersion olderVersion = TransportVersionUtils.randomPreviousCompatibleVersion(
+        final TransportVersion olderVersion = TransportVersionUtils.randomVersionBetween(
             random(),
-            authentication.getEffectiveSubject().getTransportVersion()
+            TransportVersion.MINIMUM_COMPATIBLE,
+            TransportVersionUtils.getPreviousVersion(authentication.getEffectiveSubject().getTransportVersion())
         );
 
         final Map<String, Object> rewrittenMetadata = Authentication.maybeRewriteMetadataForCrossClusterAccessAuthentication(
@@ -923,8 +924,9 @@ public class AuthenticationTests extends ESTestCase {
     }
 
     public void testMaybeRewriteForOlderVersionErasesDomainForVersionsBeforeDomains() {
-        final TransportVersion olderVersion = TransportVersionUtils.randomPreviousCompatibleVersion(
+        final TransportVersion olderVersion = TransportVersionUtils.randomVersionBetween(
             random(),
+            TransportVersion.V_7_17_0,
             Authentication.VERSION_REALM_DOMAINS
         );
         final Authentication authentication = AuthenticationTestHelper.builder()

+ 5 - 1
x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/RoleDescriptorTests.java

@@ -418,7 +418,11 @@ public class RoleDescriptorTests extends ESTestCase {
         final TransportVersion versionBeforeRemoteIndices = TransportVersionUtils.getPreviousVersion(
             RoleDescriptor.TRANSPORT_VERSION_REMOTE_INDICES
         );
-        final TransportVersion version = TransportVersionUtils.randomPreviousCompatibleVersion(random(), versionBeforeRemoteIndices);
+        final TransportVersion version = TransportVersionUtils.randomVersionBetween(
+            random(),
+            TransportVersion.V_7_17_0,
+            versionBeforeRemoteIndices
+        );
         final BytesStreamOutput output = new BytesStreamOutput();
         output.setTransportVersion(version);
 

+ 2 - 1
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/SecurityServerTransportInterceptorTests.java

@@ -925,8 +925,9 @@ public class SecurityServerTransportInterceptorTests extends ESTestCase {
         final TransportVersion versionBeforeCrossClusterAccessRealm = TransportVersionUtils.getPreviousVersion(
             VERSION_CROSS_CLUSTER_ACCESS_REALM
         );
-        final TransportVersion version = TransportVersionUtils.randomPreviousCompatibleVersion(
+        final TransportVersion version = TransportVersionUtils.randomVersionBetween(
             random(),
+            TransportVersion.V_7_17_0,
             versionBeforeCrossClusterAccessRealm
         );
         when(connection.getTransportVersion()).thenReturn(version);

+ 2 - 2
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/netty4/SimpleSecurityNetty4ServerTransportTests.java

@@ -38,7 +38,6 @@ import org.elasticsearch.env.TestEnvironment;
 import org.elasticsearch.indices.breaker.CircuitBreakerService;
 import org.elasticsearch.indices.breaker.NoneCircuitBreakerService;
 import org.elasticsearch.mocksocket.MockServerSocket;
-import org.elasticsearch.test.TransportVersionUtils;
 import org.elasticsearch.test.transport.MockTransportService;
 import org.elasticsearch.test.transport.StubbableTransport;
 import org.elasticsearch.threadpool.ThreadPool;
@@ -1041,7 +1040,8 @@ public class SimpleSecurityNetty4ServerTransportTests extends AbstractSimpleTran
             if (doHandshake) {
                 super.executeHandshake(node, channel, profile, listener);
             } else {
-                listener.onResponse(TransportVersionUtils.minimumCompatibilityVersion(getVersion()));
+                assert getVersion().equals(TransportVersion.CURRENT);
+                listener.onResponse(TransportVersion.MINIMUM_COMPATIBLE);
             }
         }