Refactor EppResourceUtils.loadByForeignKey(...) -> ForeignKeyUtils.loadResource(...) (#2864)

This doesn't make any underlying implementation details, and is mainly useful to
reduce the number of diffs in PR #2852 (which does change implementation
details) thus making that easier to review.
This commit is contained in:
Ben McIlwain
2025-10-28 19:47:37 +00:00
committed by GitHub
parent 8f69b48e87
commit ad07b32638
36 changed files with 156 additions and 154 deletions
@@ -16,7 +16,6 @@ package google.registry.batch;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.domain.rgp.GracePeriodStatus.ADD;
import static google.registry.testing.DatabaseHelper.assertDomainDnsRequests;
import static google.registry.testing.DatabaseHelper.createTld;
@@ -32,6 +31,7 @@ import static org.joda.time.DateTimeZone.UTC;
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableSet;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.ImmutableObject;
import google.registry.model.billing.BillingBase.Reason;
import google.registry.model.billing.BillingEvent;
@@ -202,7 +202,8 @@ class DeleteProberDataActionTest {
.build());
action.run();
DateTime timeAfterDeletion = DateTime.now(UTC);
assertThat(loadByForeignKey(Domain.class, "blah.ib-any.test", timeAfterDeletion)).isEmpty();
assertThat(ForeignKeyUtils.loadResource(Domain.class, "blah.ib-any.test", timeAfterDeletion))
.isEmpty();
assertThat(loadByEntity(domain).getDeletionTime()).isLessThan(timeAfterDeletion);
assertDomainDnsRequests("blah.ib-any.test");
}
@@ -219,7 +220,8 @@ class DeleteProberDataActionTest {
DateTime timeAfterDeletion = DateTime.now(UTC);
resetAction();
action.run();
assertThat(loadByForeignKey(Domain.class, "blah.ib-any.test", timeAfterDeletion)).isEmpty();
assertThat(ForeignKeyUtils.loadResource(Domain.class, "blah.ib-any.test", timeAfterDeletion))
.isEmpty();
assertThat(loadByEntity(domain).getDeletionTime()).isLessThan(timeAfterDeletion);
assertDomainDnsRequests("blah.ib-any.test");
}
@@ -232,7 +234,8 @@ class DeleteProberDataActionTest {
.setCreationTimeForTest(DateTime.now(UTC).minusSeconds(1))
.build());
action.run();
Optional<Domain> domain = loadByForeignKey(Domain.class, "blah.ib-any.test", DateTime.now(UTC));
Optional<Domain> domain =
ForeignKeyUtils.loadResource(Domain.class, "blah.ib-any.test", DateTime.now(UTC));
assertThat(domain).isPresent();
assertThat(domain.get().getDeletionTime()).isEqualTo(END_OF_TIME);
}
@@ -16,7 +16,6 @@ package google.registry.beam.billing;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ImmutableObjectSubject.immutableObjectCorrespondence;
import static google.registry.model.common.Cursor.CursorType.RECURRING_BILLING;
import static google.registry.model.domain.Period.Unit.YEARS;
@@ -37,6 +36,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import google.registry.beam.TestPipelineExtension;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.billing.BillingBase.Flag;
import google.registry.model.billing.BillingBase.Reason;
import google.registry.model.billing.BillingEvent;
@@ -115,7 +115,7 @@ public class ExpandBillingRecurrencesPipelineTest {
// Set up the database.
createTld("tld");
billingRecurrence = createDomainAtTime("example.tld", startTime.minusYears(1).plusHours(12));
domain = loadByForeignKey(Domain.class, "example.tld", clock.nowUtc()).get();
domain = ForeignKeyUtils.loadResource(Domain.class, "example.tld", clock.nowUtc()).get();
}
@Test
@@ -321,7 +321,8 @@ public class ExpandBillingRecurrencesPipelineTest {
.build());
DateTime otherCreateTime = startTime.minusYears(1).plusHours(5);
BillingRecurrence otherBillingRecurrence = createDomainAtTime("other.test", otherCreateTime);
Domain otherDomain = loadByForeignKey(Domain.class, "other.test", clock.nowUtc()).get();
Domain otherDomain =
ForeignKeyUtils.loadResource(Domain.class, "other.test", clock.nowUtc()).get();
options.setTargetParallelism(numOfThreads);
runPipeline();
@@ -15,7 +15,7 @@
package google.registry.flows;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ForeignKeyUtils.loadResource;
import static google.registry.model.common.FeatureFlag.FeatureName.MINIMUM_DATASET_CONTACTS_OPTIONAL;
import static google.registry.model.common.FeatureFlag.FeatureStatus.INACTIVE;
import static google.registry.model.eppoutput.Result.Code.SUCCESS;
@@ -349,7 +349,7 @@ class EppLifecycleDomainTest extends EppTestCase {
"UPDATE", "2000-06-03T00:00:00Z"));
Domain domain =
loadByForeignKey(Domain.class, "example.tld", DateTime.parse("2000-06-03T04:00:00Z")).get();
loadResource(Domain.class, "example.tld", DateTime.parse("2000-06-03T04:00:00Z")).get();
DateTime deleteTime = DateTime.parse("2000-06-04T00:00:00Z");
// Delete domain example.tld during both grace periods.
@@ -410,7 +410,7 @@ class EppLifecycleDomainTest extends EppTestCase {
"CRDATE", "2000-06-01T00:02:00.0Z",
"EXDATE", "2002-06-01T00:02:00.0Z"));
Domain domain = loadByForeignKey(Domain.class, "example.tld", createTime.plusHours(1)).get();
Domain domain = loadResource(Domain.class, "example.tld", createTime.plusHours(1)).get();
// Delete domain example.tld within the add grace period.
DateTime deleteTime = createTime.plusDays(1);
@@ -492,7 +492,7 @@ class EppLifecycleDomainTest extends EppTestCase {
"CODE", "2303", "MSG", "The domain with given ID (example.tld) doesn't exist."));
Domain domain =
loadByForeignKey(Domain.class, "example.tld", DateTime.parse("2000-08-01T00:02:00Z")).get();
loadResource(Domain.class, "example.tld", DateTime.parse("2000-08-01T00:02:00Z")).get();
// Verify that the autorenew was ended and that the one-time billing event is not canceled.
assertBillingEventsForResource(
domain,
@@ -532,7 +532,7 @@ class EppLifecycleDomainTest extends EppTestCase {
.hasResponse("domain_create_response_eap_fee.xml");
Domain domain =
loadByForeignKey(Domain.class, "example.tld", DateTime.parse("2000-06-01T00:03:00Z")).get();
loadResource(Domain.class, "example.tld", DateTime.parse("2000-06-01T00:03:00Z")).get();
// Delete domain example.tld within the add grade period.
DateTime deleteTime = createTime.plusDays(1);
@@ -15,7 +15,7 @@
package google.registry.flows;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ForeignKeyUtils.loadResource;
import static google.registry.model.common.FeatureFlag.FeatureName.MINIMUM_DATASET_CONTACTS_OPTIONAL;
import static google.registry.model.common.FeatureFlag.FeatureStatus.INACTIVE;
import static google.registry.model.eppoutput.Result.Code.SUCCESS;
@@ -230,9 +230,9 @@ class EppLifecycleHostTest extends EppTestCase {
DateTime timeAfterCreates = DateTime.parse("2000-06-01T00:06:00Z");
Host exampleBarFooTldHost =
loadByForeignKey(Host.class, "ns1.example.bar.foo.tld", timeAfterCreates).get();
loadResource(Host.class, "ns1.example.bar.foo.tld", timeAfterCreates).get();
Domain exampleBarFooTldDomain =
loadByForeignKey(Domain.class, "example.bar.foo.tld", timeAfterCreates).get();
loadResource(Domain.class, "example.bar.foo.tld", timeAfterCreates).get();
assertAboutHosts()
.that(exampleBarFooTldHost)
.hasSuperordinateDomain(exampleBarFooTldDomain.createVKey());
@@ -240,16 +240,16 @@ class EppLifecycleHostTest extends EppTestCase {
.containsExactly("ns1.example.bar.foo.tld");
Host exampleFooTldHost =
loadByForeignKey(Host.class, "ns1.example.foo.tld", timeAfterCreates).get();
loadResource(Host.class, "ns1.example.foo.tld", timeAfterCreates).get();
Domain exampleFooTldDomain =
loadByForeignKey(Domain.class, "example.foo.tld", timeAfterCreates).get();
loadResource(Domain.class, "example.foo.tld", timeAfterCreates).get();
assertAboutHosts()
.that(exampleFooTldHost)
.hasSuperordinateDomain(exampleFooTldDomain.createVKey());
assertThat(exampleFooTldDomain.getSubordinateHosts()).containsExactly("ns1.example.foo.tld");
Host exampleTldHost = loadByForeignKey(Host.class, "ns1.example.tld", timeAfterCreates).get();
Domain exampleTldDomain = loadByForeignKey(Domain.class, "example.tld", timeAfterCreates).get();
Host exampleTldHost = loadResource(Host.class, "ns1.example.tld", timeAfterCreates).get();
Domain exampleTldDomain = loadResource(Domain.class, "example.tld", timeAfterCreates).get();
assertAboutHosts().that(exampleTldHost).hasSuperordinateDomain(exampleTldDomain.createVKey());
assertThat(exampleTldDomain.getSubordinateHosts()).containsExactly("ns1.example.tld");
@@ -14,7 +14,6 @@
package google.registry.flows;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ImmutableObjectSubject.assertAboutImmutableObjects;
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
import static google.registry.testing.LogsSubject.assertAboutLogs;
@@ -24,6 +23,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.testing.TestLogHandler;
import google.registry.model.EppResource;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.contact.ContactBase;
import google.registry.model.contact.ContactHistory;
import google.registry.model.domain.DomainBase;
@@ -72,7 +72,8 @@ public abstract class ResourceFlowTestCase<F extends Flow, R extends EppResource
@Nullable
protected R reloadResourceByForeignKey(DateTime now) throws Exception {
return loadByForeignKey(getResourceClass(), getUniqueIdFromCommand(), now).orElse(null);
return ForeignKeyUtils.loadResource(getResourceClass(), getUniqueIdFromCommand(), now)
.orElse(null);
}
@Nullable
@@ -21,7 +21,6 @@ import static google.registry.batch.AsyncTaskEnqueuer.PARAM_RESAVE_TIMES;
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_RESOURCE_KEY;
import static google.registry.batch.AsyncTaskEnqueuer.QUEUE_ASYNC_ACTIONS;
import static google.registry.flows.domain.DomainTransferFlowTestCase.persistWithPendingTransfer;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.DELETED_DOMAINS_GRACE;
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.DELETED_DOMAINS_NOGRACE;
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.NET_ADDS_10_YR;
@@ -76,6 +75,7 @@ import google.registry.flows.domain.DomainFlowUtils.BadCommandForRegistryPhaseEx
import google.registry.flows.domain.DomainFlowUtils.NotAuthorizedForTldException;
import google.registry.flows.exceptions.OnlyToolCanPassMetadataException;
import google.registry.flows.exceptions.ResourceStatusProhibitsOperationException;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.billing.BillingBase.Flag;
import google.registry.model.billing.BillingBase.Reason;
import google.registry.model.billing.BillingCancellation;
@@ -731,7 +731,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
// Add a nameserver.
Host host = persistResource(newHost("ns1.example.tld"));
persistResource(
loadByForeignKey(Domain.class, getUniqueIdFromCommand(), clock.nowUtc())
ForeignKeyUtils.loadResource(Domain.class, getUniqueIdFromCommand(), clock.nowUtc())
.get()
.asBuilder()
.setNameservers(ImmutableSet.of(host.createVKey()))
@@ -742,7 +742,9 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
.asBuilder()
.setRegistrant(
Optional.of(
loadByForeignKey(Contact.class, "sh8013", clock.nowUtc()).get().createVKey()))
ForeignKeyUtils.loadResource(Contact.class, "sh8013", clock.nowUtc())
.get()
.createVKey()))
.setNameservers(ImmutableSet.of(host.createVKey()))
.setDeletionTime(START_OF_TIME)
.build());
@@ -18,7 +18,7 @@ import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static com.google.common.collect.Sets.union;
import static com.google.common.io.BaseEncoding.base16;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ForeignKeyUtils.loadResource;
import static google.registry.model.common.FeatureFlag.FeatureName.MINIMUM_DATASET_CONTACTS_OPTIONAL;
import static google.registry.model.common.FeatureFlag.FeatureName.MINIMUM_DATASET_CONTACTS_PROHIBITED;
import static google.registry.model.common.FeatureFlag.FeatureStatus.ACTIVE;
@@ -161,7 +161,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
}
private void persistDomainWithRegistrant() throws Exception {
Host host = loadByForeignKey(Host.class, "ns1.example.foo", clock.nowUtc()).get();
Host host = loadResource(Host.class, "ns1.example.foo", clock.nowUtc()).get();
Domain domain =
persistResource(
DatabaseHelper.newDomain(getUniqueIdFromCommand())
@@ -185,7 +185,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
}
private Domain persistDomain() throws Exception {
Host host = loadByForeignKey(Host.class, "ns1.example.foo", clock.nowUtc()).get();
Host host = loadResource(Host.class, "ns1.example.foo", clock.nowUtc()).get();
Domain domain =
persistResource(
DatabaseHelper.newDomain(getUniqueIdFromCommand())
@@ -368,7 +368,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
for (int i = 1; i < 15; i++) {
if (i != 2) { // Skip 2 since that's the one that the tests will add.
nameservers.add(
loadByForeignKey(Host.class, String.format("ns%d.example.foo", i), clock.nowUtc())
loadResource(Host.class, String.format("ns%d.example.foo", i), clock.nowUtc())
.get()
.createVKey());
}
@@ -476,9 +476,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
.addSubordinateHost("ns2.example.tld")
.setNameservers(
ImmutableSet.of(
loadByForeignKey(Host.class, "ns1.example.tld", clock.nowUtc())
.get()
.createVKey()))
loadResource(Host.class, "ns1.example.tld", clock.nowUtc()).get().createVKey()))
.build());
clock.advanceOneMilli();
assertMutatingFlow(true);
@@ -486,8 +484,8 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
domain = reloadResourceByForeignKey();
assertThat(domain.getNameservers()).containsExactly(addedHost.createVKey());
assertThat(domain.getSubordinateHosts()).containsExactly("ns1.example.tld", "ns2.example.tld");
Host existingHost = loadByForeignKey(Host.class, "ns1.example.tld", clock.nowUtc()).get();
addedHost = loadByForeignKey(Host.class, "ns2.example.tld", clock.nowUtc()).get();
Host existingHost = loadResource(Host.class, "ns1.example.tld", clock.nowUtc()).get();
addedHost = loadResource(Host.class, "ns2.example.tld", clock.nowUtc()).get();
assertThat(existingHost.getSuperordinateDomain()).isEqualTo(domain.createVKey());
assertThat(addedHost.getSuperordinateDomain()).isEqualTo(domain.createVKey());
}
@@ -496,7 +494,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
void testSuccess_registrantMovedToTechContact() throws Exception {
setEppInput("domain_update_registrant_to_tech.xml");
persistReferencedEntities();
Contact sh8013 = loadByForeignKey(Contact.class, "sh8013", clock.nowUtc()).get();
Contact sh8013 = loadResource(Contact.class, "sh8013", clock.nowUtc()).get();
persistResource(
DatabaseHelper.newDomain(getUniqueIdFromCommand())
.asBuilder()
@@ -510,7 +508,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
void testSuccess_multipleReferencesToSameContactRemoved() throws Exception {
setEppInput("domain_update_remove_multiple_contacts.xml");
persistReferencedEntities();
Contact sh8013 = loadByForeignKey(Contact.class, "sh8013", clock.nowUtc()).get();
Contact sh8013 = loadResource(Contact.class, "sh8013", clock.nowUtc()).get();
VKey<Contact> sh8013Key = sh8013.createVKey();
persistResource(
DatabaseHelper.newDomain(getUniqueIdFromCommand())
@@ -1207,7 +1205,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
.setContacts(
DesignatedContact.create(
Type.TECH,
loadByForeignKey(Contact.class, "foo", clock.nowUtc()).get().createVKey()))
loadResource(Contact.class, "foo", clock.nowUtc()).get().createVKey()))
.build());
EppException thrown = assertThrows(DuplicateContactForRoleException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml();
@@ -1511,9 +1509,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
.asBuilder()
.setNameservers(
ImmutableSet.of(
loadByForeignKey(Host.class, "ns1.example.foo", clock.nowUtc())
.get()
.createVKey()))
loadResource(Host.class, "ns1.example.foo", clock.nowUtc()).get().createVKey()))
.build());
EppException thrown = assertThrows(AddRemoveSameValueException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml();
@@ -1530,7 +1526,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
.setContacts(
DesignatedContact.create(
Type.TECH,
loadByForeignKey(Contact.class, "sh8013", clock.nowUtc()).get().createVKey()))
loadResource(Contact.class, "sh8013", clock.nowUtc()).get().createVKey()))
.build());
EppException thrown = assertThrows(AddRemoveSameValueException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml();
@@ -1690,7 +1686,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
persistReferencedEntities();
persistDomain();
persistResource(
loadByForeignKey(Contact.class, "mak21", clock.nowUtc())
loadResource(Contact.class, "mak21", clock.nowUtc())
.get()
.asBuilder()
.addStatusValue(PENDING_DELETE)
@@ -1706,7 +1702,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
persistReferencedEntities();
persistDomain();
persistResource(
loadByForeignKey(Host.class, "ns2.example.foo", clock.nowUtc())
loadResource(Host.class, "ns2.example.foo", clock.nowUtc())
.get()
.asBuilder()
.addStatusValue(PENDING_DELETE)
@@ -1761,11 +1757,10 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
.build());
assertThat(reloadResourceByForeignKey().getNameservers())
.doesNotContain(
loadByForeignKey(Host.class, "ns2.example.foo", clock.nowUtc()).get().createVKey());
loadResource(Host.class, "ns2.example.foo", clock.nowUtc()).get().createVKey());
runFlow();
assertThat(reloadResourceByForeignKey().getNameservers())
.contains(
loadByForeignKey(Host.class, "ns2.example.foo", clock.nowUtc()).get().createVKey());
.contains(loadResource(Host.class, "ns2.example.foo", clock.nowUtc()).get().createVKey());
}
@Test
@@ -1832,7 +1827,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
reloadResourceByForeignKey()
.asBuilder()
.addNameserver(
loadByForeignKey(Host.class, "ns2.example.foo", clock.nowUtc()).get().createVKey())
loadResource(Host.class, "ns2.example.foo", clock.nowUtc()).get().createVKey())
.build());
persistResource(
Tld.get("tld")
@@ -1841,13 +1836,12 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
ImmutableSet.of("ns1.example.foo", "ns2.example.foo"))
.build());
assertThat(reloadResourceByForeignKey().getNameservers())
.contains(
loadByForeignKey(Host.class, "ns1.example.foo", clock.nowUtc()).get().createVKey());
.contains(loadResource(Host.class, "ns1.example.foo", clock.nowUtc()).get().createVKey());
clock.advanceOneMilli();
runFlow();
assertThat(reloadResourceByForeignKey().getNameservers())
.doesNotContain(
loadByForeignKey(Host.class, "ns1.example.foo", clock.nowUtc())
loadResource(Host.class, "ns1.example.foo", clock.nowUtc())
.map(ImmutableObject::createVKey)
.get());
}
@@ -15,7 +15,6 @@
package google.registry.flows.host;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.testing.DatabaseHelper.assertHostDnsRequests;
import static google.registry.testing.DatabaseHelper.assertNoBillingEvents;
import static google.registry.testing.DatabaseHelper.assertNoDnsRequests;
@@ -48,6 +47,7 @@ import google.registry.flows.host.HostFlowUtils.HostNameTooShallowException;
import google.registry.flows.host.HostFlowUtils.InvalidHostNameException;
import google.registry.flows.host.HostFlowUtils.SuperordinateDomainDoesNotExistException;
import google.registry.flows.host.HostFlowUtils.SuperordinateDomainInPendingDeleteException;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.domain.Domain;
import google.registry.model.eppcommon.StatusValue;
import google.registry.model.host.Host;
@@ -69,9 +69,10 @@ class HostCreateFlowTest extends ResourceFlowTestCase<HostCreateFlow, Host> {
setEppHostCreateInput(
hostName,
"""
<host:addr ip="v4">192.0.2.2</host:addr>
<host:addr ip="v4">192.0.2.29</host:addr>
<host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>""");
<host:addr ip="v4">192.0.2.2</host:addr>
<host:addr ip="v4">192.0.2.29</host:addr>
<host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>\
""");
}
HostCreateFlowTest() {
@@ -126,7 +127,7 @@ class HostCreateFlowTest extends ResourceFlowTestCase<HostCreateFlow, Host> {
doSuccessfulInternalTest("tld");
Host host = reloadResourceByForeignKey();
Domain superordinateDomain =
loadByForeignKey(Domain.class, "example.tld", clock.nowUtc()).get();
ForeignKeyUtils.loadResource(Domain.class, "example.tld", clock.nowUtc()).get();
assertAboutHosts().that(host).hasSuperordinateDomain(superordinateDomain.createVKey());
assertThat(superordinateDomain.getSubordinateHosts()).containsExactly("ns1.example.tld");
assertHostDnsRequests("ns1.example.tld");
@@ -155,7 +156,7 @@ class HostCreateFlowTest extends ResourceFlowTestCase<HostCreateFlow, Host> {
doSuccessfulInternalTest("tld");
Host host = reloadResourceByForeignKey();
Domain superordinateDomain =
loadByForeignKey(Domain.class, "example.tld", clock.nowUtc()).get();
ForeignKeyUtils.loadResource(Domain.class, "example.tld", clock.nowUtc()).get();
assertAboutHosts().that(host).hasSuperordinateDomain(superordinateDomain.createVKey());
assertThat(superordinateDomain.getSubordinateHosts()).containsExactly("ns1.example.tld");
assertHostDnsRequests("ns1.example.tld");
@@ -269,9 +270,10 @@ class HostCreateFlowTest extends ResourceFlowTestCase<HostCreateFlow, Host> {
setEppHostCreateInput(
"ns1.example.tld",
"""
<host:addr ip="v4">192.0.2.2</host:addr>
<host:addr ip="v6">192.0.2.29</host:addr>
<host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>""");
<host:addr ip="v4">192.0.2.2</host:addr>
<host:addr ip="v6">192.0.2.29</host:addr>
<host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>\
""");
EppException thrown = assertThrows(IpAddressVersionMismatchException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml();
}
@@ -18,7 +18,6 @@ import static com.google.common.base.Strings.nullToEmpty;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.dns.RefreshDnsOnHostRenameAction.PARAM_HOST_KEY;
import static google.registry.dns.RefreshDnsOnHostRenameAction.QUEUE_HOST_RENAME;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.testing.DatabaseHelper.assertHostDnsRequests;
import static google.registry.testing.DatabaseHelper.assertNoBillingEvents;
import static google.registry.testing.DatabaseHelper.assertNoDnsRequests;
@@ -168,7 +167,8 @@ class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Host> {
// should now return null.
assertThat(reloadResourceByForeignKey()).isNull();
// However, it should load correctly if we use the new name (taken from the xml).
Host renamedHost = loadByForeignKey(Host.class, "ns2.example.tld", clock.nowUtc()).get();
Host renamedHost =
ForeignKeyUtils.loadResource(Host.class, "ns2.example.tld", clock.nowUtc()).get();
assertAboutHosts()
.that(renamedHost)
.hasOnlyOneHistoryEntryWhich()
@@ -15,7 +15,6 @@
package google.registry.model;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.testing.DatabaseHelper.persistActiveContact;
import static google.registry.testing.DatabaseHelper.persistActiveHost;
import static google.registry.testing.DatabaseHelper.persistResource;
@@ -44,7 +43,7 @@ public class EppResourceTest extends EntityTestCase {
persistResource(originalContact.asBuilder().setEmailAddress("different@fake.lol").build());
assertThat(EppResource.loadByCacheIfEnabled(ImmutableList.of(originalContact.createVKey())))
.containsExactly(originalContact.createVKey(), originalContact);
assertThat(loadByForeignKey(Contact.class, "contact123", fakeClock.nowUtc()))
assertThat(ForeignKeyUtils.loadResource(Contact.class, "contact123", fakeClock.nowUtc()))
.hasValue(modifiedContact);
}
@@ -58,7 +57,7 @@ public class EppResourceTest extends EntityTestCase {
originalHost.asBuilder().setLastTransferTime(fakeClock.nowUtc().minusDays(60)).build());
assertThat(EppResource.loadByCacheIfEnabled(ImmutableList.of(originalHost.createVKey())))
.containsExactly(originalHost.createVKey(), originalHost);
assertThat(loadByForeignKey(Host.class, "ns1.example.com", fakeClock.nowUtc()))
assertThat(ForeignKeyUtils.loadResource(Host.class, "ns1.example.com", fakeClock.nowUtc()))
.hasValue(modifiedHost);
}
}
@@ -195,9 +195,7 @@ public final class OteStatsTestHelper {
private static Domain loadOrCreateDomain(String domainName) {
return tm().transact(
() ->
EppResourceUtils.loadByForeignKey(
Domain.class, domainName, tm().getTransactionTime()))
() -> ForeignKeyUtils.loadResource(Domain.class, domainName, tm().getTransactionTime()))
.orElseGet(() -> persistActiveDomain(domainName));
}
}
@@ -15,7 +15,6 @@
package google.registry.model.contact;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ImmutableObjectSubject.assertAboutImmutableObjects;
import static google.registry.testing.ContactSubject.assertAboutContacts;
import static google.registry.testing.DatabaseHelper.cloneAndSetAutoTimestamps;
@@ -29,6 +28,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import google.registry.model.EntityTestCase;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.contact.Disclose.PostalInfoChoice;
import google.registry.model.contact.PostalInfo.Type;
import google.registry.model.eppcommon.AuthInfo.PasswordAuth;
@@ -158,14 +158,17 @@ public class ContactTest extends EntityTestCase {
@Test
void testPersistence() {
assertThat(loadByForeignKey(Contact.class, contact.getForeignKey(), fakeClock.nowUtc()))
assertThat(
ForeignKeyUtils.loadResource(
Contact.class, contact.getForeignKey(), fakeClock.nowUtc()))
.hasValue(contact);
}
@Test
void testSerializable() {
Contact persisted =
loadByForeignKey(Contact.class, contact.getForeignKey(), fakeClock.nowUtc()).get();
ForeignKeyUtils.loadResource(Contact.class, contact.getForeignKey(), fakeClock.nowUtc())
.get();
assertThat(SerializeUtils.serializeDeserialize(persisted)).isEqualTo(persisted);
}
@@ -17,7 +17,6 @@ package google.registry.model.domain;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static com.google.common.collect.Iterables.getOnlyElement;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.billing.BillingBase.RenewalPriceBehavior.SPECIFIED;
import static google.registry.model.domain.token.AllocationToken.TokenType.BULK_PRICING;
import static google.registry.model.domain.token.AllocationToken.TokenType.SINGLE_USE;
@@ -43,6 +42,7 @@ import com.google.common.collect.ImmutableSortedMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Ordering;
import com.google.common.collect.Streams;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.ImmutableObject;
import google.registry.model.ImmutableObjectSubject;
import google.registry.model.billing.BillingBase.Flag;
@@ -238,15 +238,17 @@ public class DomainTest {
// Note that this only verifies that the value stored under the foreign key is the same as that
// stored under the primary key ("domain" is the domain loaded from the the database, not the
// original domain object).
assertThat(loadByForeignKey(Domain.class, domain.getForeignKey(), fakeClock.nowUtc()))
String foreignKey = domain.getForeignKey();
assertThat(ForeignKeyUtils.loadResource(Domain.class, foreignKey, fakeClock.nowUtc()))
.hasValue(domain);
}
@Test
void testRegistrantNotRequired() {
persistResource(domain.asBuilder().setRegistrant(Optional.empty()).build());
String foreignKey = domain.getForeignKey();
assertThat(
loadByForeignKey(Domain.class, domain.getForeignKey(), fakeClock.nowUtc())
ForeignKeyUtils.loadResource(Domain.class, foreignKey, fakeClock.nowUtc())
.get()
.getRegistrant())
.isEmpty();
@@ -61,7 +61,7 @@ import google.registry.dns.DnsUtils.TargetType;
import google.registry.dns.writer.VoidDnsWriter;
import google.registry.model.Buildable;
import google.registry.model.EppResource;
import google.registry.model.EppResourceUtils;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.ImmutableObject;
import google.registry.model.billing.BillingBase;
import google.registry.model.billing.BillingBase.Flag;
@@ -462,7 +462,7 @@ public final class DatabaseHelper {
.forEach(
hostname ->
deleteResource(
EppResourceUtils.loadByForeignKey(Host.class, hostname, now).get()));
ForeignKeyUtils.loadResource(Host.class, hostname, now).get()));
for (HistoryEntry hist : historyEntries) {
deleteResource(hist);
}
@@ -14,7 +14,6 @@
package google.registry.tools;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.common.FeatureFlag.FeatureName.MINIMUM_DATASET_CONTACTS_OPTIONAL;
import static google.registry.model.common.FeatureFlag.FeatureStatus.INACTIVE;
import static google.registry.testing.DatabaseHelper.assertBillingEventsForResource;
@@ -28,6 +27,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSortedMap;
import google.registry.flows.EppTestCase;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.billing.BillingBase.Reason;
import google.registry.model.billing.BillingEvent;
import google.registry.model.common.FeatureFlag;
@@ -157,7 +157,9 @@ class EppLifecycleToolsTest extends EppTestCase {
// Assert about billing events.
DateTime createTime = DateTime.parse("2000-06-01T00:02:00Z");
Domain domain =
loadByForeignKey(Domain.class, "example.tld", DateTime.parse("2003-06-02T00:02:00Z")).get();
ForeignKeyUtils.loadResource(
Domain.class, "example.tld", DateTime.parse("2003-06-02T00:02:00Z"))
.get();
BillingEvent renewBillingEvent =
new BillingEvent.Builder()
.setReason(Reason.RENEW)
@@ -15,7 +15,6 @@
package google.registry.tools;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.eppcommon.StatusValue.PENDING_DELETE;
import static google.registry.model.eppcommon.StatusValue.PENDING_TRANSFER;
import static google.registry.model.reporting.HistoryEntry.Type.SYNTHETIC;
@@ -34,6 +33,7 @@ import static google.registry.testing.HistoryEntrySubject.assertAboutHistoryEntr
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableSet;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.billing.BillingBase.Flag;
import google.registry.model.billing.BillingBase.Reason;
import google.registry.model.billing.BillingRecurrence;
@@ -81,12 +81,12 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
runCommandForced("-p", "2", "foo.tld", "bar.tld");
fakeClock.disableAutoIncrement();
assertThat(
loadByForeignKey(Domain.class, "foo.tld", fakeClock.nowUtc())
ForeignKeyUtils.loadResource(Domain.class, "foo.tld", fakeClock.nowUtc())
.get()
.getRegistrationExpirationTime())
.isEqualTo(DateTime.parse("2019-12-06T13:55:01.001Z"));
assertThat(
loadByForeignKey(Domain.class, "bar.tld", fakeClock.nowUtc())
ForeignKeyUtils.loadResource(Domain.class, "bar.tld", fakeClock.nowUtc())
.get()
.getRegistrationExpirationTime())
.isEqualTo(DateTime.parse("2018-12-06T13:55:01.002Z"));
@@ -109,7 +109,7 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
runCommandForced("-p", "2", "foo.tld");
DateTime unrenewTime = fakeClock.nowUtc();
fakeClock.advanceOneMilli();
Domain domain = loadByForeignKey(Domain.class, "foo.tld", fakeClock.nowUtc()).get();
Domain domain = ForeignKeyUtils.loadResource(Domain.class, "foo.tld", fakeClock.nowUtc()).get();
assertAboutHistoryEntries()
.that(getOnlyHistoryEntryOfType(domain, SYNTHETIC))
@@ -22,7 +22,7 @@ import static jakarta.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import static org.mockito.Mockito.when;
import com.google.common.collect.Iterables;
import google.registry.model.EppResourceUtils;
import google.registry.model.ForeignKeyUtils;
import google.registry.model.domain.Domain;
import google.registry.request.Action;
import google.registry.request.auth.AuthResult;
@@ -125,7 +125,7 @@ public class ConsoleDomainListActionTest extends ConsoleActionBaseTestCase {
clock.advanceOneMilli();
Domain toDelete =
EppResourceUtils.loadByForeignKey(Domain.class, "0exists.tld", clock.nowUtc()).get();
ForeignKeyUtils.loadResource(Domain.class, "0exists.tld", clock.nowUtc()).get();
persistDomainAsDeleted(toDelete, clock.nowUtc());
// Second page should include the domain that is now deleted due to the checkpoint time