Skip to content

Commit dd25614

Browse files
committed
Fix test (wrong ordering of map entries)
1 parent 4739a25 commit dd25614

File tree

6 files changed

+28
-21
lines changed

6 files changed

+28
-21
lines changed

Diff for: src/main/java/com/rabbitmq/stream/impl/Client.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -442,9 +442,9 @@ public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise)
442442

443443
private static Map<String, String> clientProperties(Map<String, String> fromParameters) {
444444
fromParameters = fromParameters == null ? Collections.emptyMap() : fromParameters;
445-
Map<String, String> clientProperties = new HashMap<>(fromParameters);
445+
Map<String, String> clientProperties = new LinkedHashMap<>(fromParameters);
446446
clientProperties.putAll(ClientProperties.DEFAULT_CLIENT_PROPERTIES);
447-
return Map.copyOf(clientProperties);
447+
return Collections.unmodifiableMap(clientProperties);
448448
}
449449

450450
static void checkMessageFitsInFrame(int maxFrameSize, Codec.EncodedMessage encodedMessage) {

Diff for: src/main/java/com/rabbitmq/stream/impl/ClientProperties.java

+11-8
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
package com.rabbitmq.stream.impl;
1616

1717
import java.io.InputStream;
18-
import java.util.Map;
19-
import java.util.Properties;
18+
import java.util.*;
2019
import org.slf4j.Logger;
2120
import org.slf4j.LoggerFactory;
2221

@@ -37,12 +36,16 @@ public final class ClientProperties {
3736
public static final String VERSION = getVersion();
3837

3938
public static final Map<String, String> DEFAULT_CLIENT_PROPERTIES =
40-
Map.of(
41-
"product", "RabbitMQ Stream",
42-
"version", ClientProperties.VERSION,
43-
"platform", "Java",
44-
"copyright", "Copyright (c) 2020-2024 Broadcom Inc. and/or its subsidiaries.",
45-
"information", "Licensed under the MPL 2.0. See https://www.rabbitmq.com/");
39+
Collections.unmodifiableMap(
40+
new LinkedHashMap<>() {
41+
{
42+
put("product", "RabbitMQ Stream");
43+
put("version", ClientProperties.VERSION);
44+
put("platform", "Java");
45+
put("copyright", "Copyright (c) 2020-2024 Broadcom Inc. and/or its subsidiaries.");
46+
put("information", "Licensed under the MPL 2.0. See https://www.rabbitmq.com/");
47+
}
48+
});
4649

4750
private static String getVersion() {
4851
String version;

Diff for: src/main/java/com/rabbitmq/stream/impl/ConsumersCoordinator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ private SubscriptionTracker(
443443
properties.putAll(subscriptionProperties);
444444
// we propagate the subscription name, used for monitoring
445445
properties.put("name", this.offsetTrackingReference);
446-
this.subscriptionProperties = Map.copyOf(properties);
446+
this.subscriptionProperties = Collections.unmodifiableMap(properties);
447447
}
448448
}
449449

Diff for: src/main/java/com/rabbitmq/stream/impl/ServerFrameHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -775,7 +775,7 @@ int doHandle(Client client, ChannelHandlerContext ctx, ByteBuf message) {
775775
if (outstandingRequest == null) {
776776
LOGGER.warn("Could not find outstanding request with correlation ID {}", correlationId);
777777
} else {
778-
outstandingRequest.response().set(Map.copyOf(serverProperties));
778+
outstandingRequest.response().set(Collections.unmodifiableMap(serverProperties));
779779
outstandingRequest.countDown();
780780
}
781781
return read;

Diff for: src/main/java/com/rabbitmq/stream/sasl/DefaultSaslConfiguration.java

+11-7
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
import static java.lang.String.format;
1818

19-
import java.util.Collections;
20-
import java.util.List;
21-
import java.util.Map;
19+
import java.util.*;
20+
import java.util.stream.Collectors;
21+
import java.util.stream.Stream;
2222

2323
/** {@link SaslConfiguration} that supports our built-in mechanisms. */
2424
public final class DefaultSaslConfiguration implements SaslConfiguration {
@@ -31,10 +31,14 @@ public final class DefaultSaslConfiguration implements SaslConfiguration {
3131
new DefaultSaslConfiguration(AnonymousSaslMechanism.INSTANCE.getName());
3232

3333
private final Map<String, SaslMechanism> mechanisms =
34-
Map.of(
35-
PlainSaslMechanism.INSTANCE.getName(), PlainSaslMechanism.INSTANCE,
36-
ExternalSaslMechanism.INSTANCE.getName(), ExternalSaslMechanism.INSTANCE,
37-
AnonymousSaslMechanism.INSTANCE.getName(), AnonymousSaslMechanism.INSTANCE);
34+
Collections.unmodifiableMap(
35+
Stream.of(
36+
PlainSaslMechanism.INSTANCE,
37+
ExternalSaslMechanism.INSTANCE,
38+
AnonymousSaslMechanism.INSTANCE)
39+
.collect(
40+
Collectors.toMap(
41+
SaslMechanism::getName, m -> m, (k1, k2) -> k1, LinkedHashMap::new)));
3842

3943
private final String mechanism;
4044

Diff for: src/test/java/com/rabbitmq/stream/sasl/DefaultSaslConfigurationTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2020-2023 Broadcom. All Rights Reserved.
1+
// Copyright (c) 2020-2024 Broadcom. All Rights Reserved.
22
// The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
33
//
44
// This software, the RabbitMQ Stream Java client library, is dual-licensed under the
@@ -58,6 +58,6 @@ void getSaslMechanismShouldThrowExceptionIfNoMechanismSpecifiedAndNoMatch() {
5858
assertThatThrownBy(() -> configuration.getSaslMechanism(asList("FOO", "BAR")))
5959
.isInstanceOf(IllegalStateException.class)
6060
.hasMessage(
61-
"Unable to agree on a SASL mechanism. Client: PLAIN, ANONYMOUS, EXTERNAL / server FOO, BAR.");
61+
"Unable to agree on a SASL mechanism. Client: PLAIN, EXTERNAL, ANONYMOUS / server FOO, BAR.");
6262
}
6363
}

0 commit comments

Comments
 (0)