mirror of
https://github.com/google/nomulus.git
synced 2025-07-23 11:16:04 +02:00
Merge DomainResource into DomainBase
This eliminates the use of Objectify polymorphism for EPP resources entirely (yay!), which makes the Registry 3.0 database migration easier. It is unfortunate that the naming parallelism of EppResources is lost between ContactResource, HostResource, and DomainResource, but the actual type as far as Datastore was concerned was DomainBase all along, and it would be a much more substantial data migration to allow us to continue using the class name DomainResource now that we're no longer using Objectify polymorphism. This simply isn't worth it. This also removes the polymorphic Datastore indexes (which will no longer function as of this change). The non-polymorphic replacement indexes were added in [] ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=230930546
This commit is contained in:
parent
97c2049669
commit
e2528875b2
166 changed files with 1525 additions and 1666 deletions
|
@ -17,14 +17,13 @@ package google.registry.testing;
|
|||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.truth.FailureMetadata;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.launch.LaunchNotice;
|
||||
import google.registry.model.domain.secdns.DelegationSignerData;
|
||||
import google.registry.model.eppcommon.AuthInfo;
|
||||
import google.registry.testing.TruthChainer.And;
|
||||
import java.util.Set;
|
||||
|
||||
/** Truth subject for asserting things about {@link DomainResource} instances. */
|
||||
/** Truth subject for asserting things about {@link DomainBase} instances. */
|
||||
public abstract class AbstractDomainBaseSubject
|
||||
<T extends DomainBase, S extends AbstractDomainBaseSubject<T, S>>
|
||||
extends AbstractEppResourceSubject<T, S> {
|
||||
|
|
|
@ -67,7 +67,7 @@ import google.registry.model.contact.ContactResource;
|
|||
import google.registry.model.domain.DesignatedContact;
|
||||
import google.registry.model.domain.DesignatedContact.Type;
|
||||
import google.registry.model.domain.DomainAuthInfo;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.GracePeriod;
|
||||
import google.registry.model.domain.rgp.GracePeriodStatus;
|
||||
import google.registry.model.eppcommon.AuthInfo.PasswordAuth;
|
||||
|
@ -125,27 +125,27 @@ public class DatastoreHelper {
|
|||
.build();
|
||||
}
|
||||
|
||||
public static DomainResource newDomainResource(String domainName) {
|
||||
public static DomainBase newDomainBase(String domainName) {
|
||||
String repoId = generateNewDomainRoid(getTldFromDomainName(domainName));
|
||||
return newDomainResource(domainName, repoId, persistActiveContact("contact1234"));
|
||||
return newDomainBase(domainName, repoId, persistActiveContact("contact1234"));
|
||||
}
|
||||
|
||||
public static DomainResource newDomainResource(String domainName, ContactResource contact) {
|
||||
return newDomainResource(
|
||||
public static DomainBase newDomainBase(String domainName, ContactResource contact) {
|
||||
return newDomainBase(
|
||||
domainName, generateNewDomainRoid(getTldFromDomainName(domainName)), contact);
|
||||
}
|
||||
|
||||
public static DomainResource newDomainResource(String domainName, HostResource host) {
|
||||
return newDomainResource(domainName)
|
||||
public static DomainBase newDomainBase(String domainName, HostResource host) {
|
||||
return newDomainBase(domainName)
|
||||
.asBuilder()
|
||||
.setNameservers(ImmutableSet.of(Key.create(host)))
|
||||
.build();
|
||||
}
|
||||
|
||||
public static DomainResource newDomainResource(
|
||||
public static DomainBase newDomainBase(
|
||||
String domainName, String repoId, ContactResource contact) {
|
||||
Key<ContactResource> contactKey = Key.create(contact);
|
||||
return new DomainResource.Builder()
|
||||
return new DomainBase.Builder()
|
||||
.setRepoId(repoId)
|
||||
.setFullyQualifiedDomainName(domainName)
|
||||
.setCreationClientId("TheRegistrar")
|
||||
|
@ -233,7 +233,7 @@ public class DatastoreHelper {
|
|||
}
|
||||
|
||||
public static HostResource persistActiveSubordinateHost(
|
||||
String hostName, DomainResource superordinateDomain) {
|
||||
String hostName, DomainBase superordinateDomain) {
|
||||
checkNotNull(superordinateDomain);
|
||||
return persistResource(
|
||||
newHostResource(hostName)
|
||||
|
@ -250,19 +250,19 @@ public class DatastoreHelper {
|
|||
newHostResource(hostName).asBuilder().setDeletionTime(deletionTime).build());
|
||||
}
|
||||
|
||||
public static DomainResource persistActiveDomain(String domainName) {
|
||||
return persistResource(newDomainResource(domainName));
|
||||
public static DomainBase persistActiveDomain(String domainName) {
|
||||
return persistResource(newDomainBase(domainName));
|
||||
}
|
||||
|
||||
public static DomainResource persistActiveDomain(String domainName, DateTime creationTime) {
|
||||
public static DomainBase persistActiveDomain(String domainName, DateTime creationTime) {
|
||||
return persistResource(
|
||||
newDomainResource(domainName).asBuilder().setCreationTimeForTest(creationTime).build());
|
||||
newDomainBase(domainName).asBuilder().setCreationTimeForTest(creationTime).build());
|
||||
}
|
||||
|
||||
public static DomainResource persistActiveDomain(
|
||||
public static DomainBase persistActiveDomain(
|
||||
String domainName, DateTime creationTime, DateTime expirationTime) {
|
||||
return persistResource(
|
||||
newDomainResource(domainName)
|
||||
newDomainBase(domainName)
|
||||
.asBuilder()
|
||||
.setCreationTimeForTest(creationTime)
|
||||
.setRegistrationExpirationTime(expirationTime)
|
||||
|
@ -270,26 +270,26 @@ public class DatastoreHelper {
|
|||
}
|
||||
|
||||
/** Persists a domain resource with the given domain name deleted at the specified time. */
|
||||
public static DomainResource persistDeletedDomain(String domainName, DateTime deletionTime) {
|
||||
return persistDomainAsDeleted(newDomainResource(domainName), deletionTime);
|
||||
public static DomainBase persistDeletedDomain(String domainName, DateTime deletionTime) {
|
||||
return persistDomainAsDeleted(newDomainBase(domainName), deletionTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a persisted domain that is the passed-in domain modified to be deleted at the specified
|
||||
* time.
|
||||
*/
|
||||
public static DomainResource persistDomainAsDeleted(
|
||||
DomainResource domain, DateTime deletionTime) {
|
||||
public static DomainBase persistDomainAsDeleted(
|
||||
DomainBase domain, DateTime deletionTime) {
|
||||
return persistResource(domain.asBuilder().setDeletionTime(deletionTime).build());
|
||||
}
|
||||
|
||||
/** Persists a domain and enqueues a LORDN task of the appropriate type for it. */
|
||||
public static DomainResource persistDomainAndEnqueueLordn(final DomainResource domain) {
|
||||
final DomainResource persistedDomain = persistResource(domain);
|
||||
// Calls {@link LordnTaskUtils#enqueueDomainResourceTask} wrapped in an ofy transaction so that
|
||||
public static DomainBase persistDomainAndEnqueueLordn(final DomainBase domain) {
|
||||
final DomainBase persistedDomain = persistResource(domain);
|
||||
// Calls {@link LordnTaskUtils#enqueueDomainBaseTask} wrapped in an ofy transaction so that
|
||||
// the
|
||||
// transaction time is set correctly.
|
||||
ofy().transactNew(() -> LordnTaskUtils.enqueueDomainResourceTask(persistedDomain));
|
||||
ofy().transactNew(() -> LordnTaskUtils.enqueueDomainBaseTask(persistedDomain));
|
||||
return persistedDomain;
|
||||
}
|
||||
|
||||
|
@ -414,7 +414,7 @@ public class DatastoreHelper {
|
|||
}
|
||||
|
||||
public static BillingEvent.OneTime createBillingEventForTransfer(
|
||||
DomainResource domain,
|
||||
DomainBase domain,
|
||||
HistoryEntry historyEntry,
|
||||
DateTime costLookupTime,
|
||||
DateTime eventTime) {
|
||||
|
@ -473,7 +473,7 @@ public class DatastoreHelper {
|
|||
.build());
|
||||
}
|
||||
|
||||
public static DomainResource persistDomainWithDependentResources(
|
||||
public static DomainBase persistDomainWithDependentResources(
|
||||
String label,
|
||||
String tld,
|
||||
ContactResource contact,
|
||||
|
@ -481,8 +481,8 @@ public class DatastoreHelper {
|
|||
DateTime creationTime,
|
||||
DateTime expirationTime) {
|
||||
String domainName = String.format("%s.%s", label, tld);
|
||||
DomainResource domain =
|
||||
new DomainResource.Builder()
|
||||
DomainBase domain =
|
||||
new DomainBase.Builder()
|
||||
.setRepoId(generateNewDomainRoid(tld))
|
||||
.setFullyQualifiedDomainName(domainName)
|
||||
.setPersistedCurrentSponsorClientId("TheRegistrar")
|
||||
|
@ -533,8 +533,8 @@ public class DatastoreHelper {
|
|||
.build());
|
||||
}
|
||||
|
||||
public static DomainResource persistDomainWithPendingTransfer(
|
||||
DomainResource domain,
|
||||
public static DomainBase persistDomainWithPendingTransfer(
|
||||
DomainBase domain,
|
||||
DateTime requestTime,
|
||||
DateTime expirationTime,
|
||||
DateTime extendedRegistrationExpirationTime,
|
||||
|
@ -978,7 +978,7 @@ public class DatastoreHelper {
|
|||
} else if (resource instanceof HostResource) {
|
||||
return resource.getRepoId() != null
|
||||
? HistoryEntry.Type.HOST_CREATE : HistoryEntry.Type.HOST_UPDATE;
|
||||
} else if (resource instanceof DomainResource) {
|
||||
} else if (resource instanceof DomainBase) {
|
||||
return resource.getRepoId() != null
|
||||
? HistoryEntry.Type.DOMAIN_CREATE : HistoryEntry.Type.DOMAIN_UPDATE;
|
||||
} else {
|
||||
|
|
|
@ -19,16 +19,16 @@ import static com.google.common.truth.Truth.assertAbout;
|
|||
|
||||
import com.google.common.truth.FailureMetadata;
|
||||
import com.google.common.truth.SimpleSubjectBuilder;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.testing.TruthChainer.And;
|
||||
import java.util.Objects;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/** Truth subject for asserting things about {@link DomainResource} instances. */
|
||||
public final class DomainResourceSubject
|
||||
extends AbstractDomainBaseSubject<DomainResource, DomainResourceSubject> {
|
||||
/** Truth subject for asserting things about {@link DomainBase} instances. */
|
||||
public final class DomainBaseSubject
|
||||
extends AbstractDomainBaseSubject<DomainBase, DomainBaseSubject> {
|
||||
|
||||
public And<DomainResourceSubject> hasRegistrationExpirationTime(DateTime expiration) {
|
||||
public And<DomainBaseSubject> hasRegistrationExpirationTime(DateTime expiration) {
|
||||
if (!Objects.equals(actual().getRegistrationExpirationTime(), expiration)) {
|
||||
failWithBadResults(
|
||||
"has registrationExpirationTime",
|
||||
|
@ -38,43 +38,43 @@ public final class DomainResourceSubject
|
|||
return andChainer();
|
||||
}
|
||||
|
||||
public And<DomainResourceSubject> hasLastTransferTime(DateTime lastTransferTime) {
|
||||
public And<DomainBaseSubject> hasLastTransferTime(DateTime lastTransferTime) {
|
||||
return hasValue(
|
||||
lastTransferTime,
|
||||
actual().getLastTransferTime(),
|
||||
"has lastTransferTime");
|
||||
}
|
||||
|
||||
public And<DomainResourceSubject> hasLastTransferTimeNotEqualTo(DateTime lastTransferTime) {
|
||||
public And<DomainBaseSubject> hasLastTransferTimeNotEqualTo(DateTime lastTransferTime) {
|
||||
return doesNotHaveValue(
|
||||
lastTransferTime,
|
||||
actual().getLastTransferTime(),
|
||||
"lastTransferTime");
|
||||
}
|
||||
|
||||
public And<DomainResourceSubject> hasDeletePollMessage() {
|
||||
public And<DomainBaseSubject> hasDeletePollMessage() {
|
||||
if (actual().getDeletePollMessage() == null) {
|
||||
fail("has a delete poll message");
|
||||
}
|
||||
return andChainer();
|
||||
}
|
||||
|
||||
public And<DomainResourceSubject> hasNoDeletePollMessage() {
|
||||
public And<DomainBaseSubject> hasNoDeletePollMessage() {
|
||||
if (actual().getDeletePollMessage() != null) {
|
||||
fail("has no delete poll message");
|
||||
}
|
||||
return andChainer();
|
||||
}
|
||||
|
||||
public And<DomainResourceSubject> hasSmdId(String smdId) {
|
||||
public And<DomainBaseSubject> hasSmdId(String smdId) {
|
||||
return hasValue(smdId, actual().getSmdId(), "has smdId");
|
||||
}
|
||||
|
||||
public DomainResourceSubject(FailureMetadata failureMetadata, DomainResource subject) {
|
||||
public DomainBaseSubject(FailureMetadata failureMetadata, DomainBase subject) {
|
||||
super(failureMetadata, checkNotNull(subject));
|
||||
}
|
||||
|
||||
public static SimpleSubjectBuilder<DomainResourceSubject, DomainResource> assertAboutDomains() {
|
||||
return assertAbout(DomainResourceSubject::new);
|
||||
public static SimpleSubjectBuilder<DomainBaseSubject, DomainBase> assertAboutDomains() {
|
||||
return assertAbout(DomainBaseSubject::new);
|
||||
}
|
||||
}
|
|
@ -30,7 +30,7 @@ import google.registry.model.contact.ContactPhoneNumber;
|
|||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.contact.PostalInfo;
|
||||
import google.registry.model.domain.DesignatedContact;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.Period;
|
||||
import google.registry.model.domain.secdns.DelegationSignerData;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
|
@ -332,7 +332,7 @@ public final class FullFieldsTestEntityHelper {
|
|||
return contactResource;
|
||||
}
|
||||
|
||||
public static DomainResource makeDomainResource(
|
||||
public static DomainBase makeDomainBase(
|
||||
String domain,
|
||||
@Nullable ContactResource registrant,
|
||||
@Nullable ContactResource admin,
|
||||
|
@ -340,7 +340,7 @@ public final class FullFieldsTestEntityHelper {
|
|||
@Nullable HostResource ns1,
|
||||
@Nullable HostResource ns2,
|
||||
Registrar registrar) {
|
||||
DomainResource.Builder builder = new DomainResource.Builder()
|
||||
DomainBase.Builder builder = new DomainBase.Builder()
|
||||
.setFullyQualifiedDomainName(Idn.toASCII(domain))
|
||||
.setRepoId(generateNewDomainRoid(getTldFromDomainName(Idn.toASCII(domain))))
|
||||
.setLastEppUpdateTime(DateTime.parse("2009-05-29T20:13:00Z"))
|
||||
|
|
|
@ -20,7 +20,7 @@ import static com.google.common.truth.Truth.assertAbout;
|
|||
import com.google.common.truth.FailureMetadata;
|
||||
import com.google.common.truth.SimpleSubjectBuilder;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.testing.TruthChainer.And;
|
||||
import org.joda.time.DateTime;
|
||||
|
@ -58,7 +58,7 @@ public final class HostResourceSubject
|
|||
"has lastSuperordinateChange");
|
||||
}
|
||||
|
||||
public And<HostResourceSubject> hasSuperordinateDomain(Key<DomainResource> superordinateDomain) {
|
||||
public And<HostResourceSubject> hasSuperordinateDomain(Key<DomainBase> superordinateDomain) {
|
||||
return hasValue(
|
||||
superordinateDomain,
|
||||
actual().getSuperordinateDomain(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue