From 27b924412686f40bd8d2711ed33da96b8c81c024 Mon Sep 17 00:00:00 2001 From: mcilwain Date: Wed, 8 Mar 2017 13:32:41 -0800 Subject: [PATCH] Fix non-determinism in RegistryTest duplicate auth code test ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=149576311 --- java/google/registry/model/registry/Registry.java | 4 ++-- javatests/google/registry/model/registry/RegistryTest.java | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/java/google/registry/model/registry/Registry.java b/java/google/registry/model/registry/Registry.java index 200bc3381..7e29c288d 100644 --- a/java/google/registry/model/registry/Registry.java +++ b/java/google/registry/model/registry/Registry.java @@ -36,10 +36,10 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.collect.FluentIterable; -import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSortedMap; import com.google.common.collect.Iterables; +import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; import com.google.common.collect.Ordering; import com.google.common.collect.Range; @@ -761,7 +761,7 @@ public class Registry extends ImmutableObject implements Buildable { * Checks that domain names don't have conflicting auth codes across different reserved lists. */ private static void checkAuthCodeConflicts(Set reservedLists) { - Multimap allAuthCodes = HashMultimap.create(); + Multimap allAuthCodes = LinkedHashMultimap.create(); for (ReservedList list : reservedLists) { for (ReservedListEntry entry : list.getReservedListEntries().values()) { if (entry.getAuthCode() != null) { diff --git a/javatests/google/registry/model/registry/RegistryTest.java b/javatests/google/registry/model/registry/RegistryTest.java index c3190c8be..6ff36916f 100644 --- a/javatests/google/registry/model/registry/RegistryTest.java +++ b/javatests/google/registry/model/registry/RegistryTest.java @@ -196,11 +196,14 @@ public class RegistryTest extends EntityTestCase { "tld-reserved056", "lol,RESERVED_FOR_ANCHOR_TENANT,conflict2", "tim,FULLY_BLOCKED"); + ReservedList rl3 = persistReservedList( + "tld-reserved057", + "lol,RESERVED_FOR_ANCHOR_TENANT,another_conflict"); thrown.expect( IllegalArgumentException.class, - "auth code conflicts for labels: [lol=[conflict1, conflict2]]"); + "auth code conflicts for labels: [lol=[conflict1, conflict2, another_conflict]]"); @SuppressWarnings("unused") - Registry unused = Registry.get("tld").asBuilder().setReservedLists(rl1, rl2).build(); + Registry unused = Registry.get("tld").asBuilder().setReservedLists(rl1, rl2, rl3).build(); } @Test