mirror of
https://github.com/google/nomulus
synced 2026-09-09 09:36:12 +00:00
Make sure post load work happens in GracePeriod (#878)
* Make sure post load work happens in GracePeriod The GracePeriod method with ofy @OnLoad annotation is not called. Apparently Ofy only checks for @OnLoad on first-class entities, not embedded ones. Added a call to this method from DomainContent's OnLoad method. Reproduced issue with a test and verified that the fix works.
This commit is contained in:
@@ -19,6 +19,8 @@ import static com.google.common.collect.Iterables.getOnlyElement;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.common.truth.Truth8.assertThat;
|
||||
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.ofyTm;
|
||||
import static google.registry.testing.DatabaseHelper.cloneAndSetAutoTimestamps;
|
||||
import static google.registry.testing.DatabaseHelper.createTld;
|
||||
import static google.registry.testing.DatabaseHelper.newDomainBase;
|
||||
@@ -30,6 +32,7 @@ import static org.joda.money.CurrencyUnit.USD;
|
||||
import static org.joda.time.DateTimeZone.UTC;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import com.google.appengine.api.datastore.Entity;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
@@ -164,6 +167,15 @@ public class DomainBaseTest extends EntityTestCase {
|
||||
.build()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGracePeriod_nullIdFromOfy() {
|
||||
Entity entity = ofyTm().transact(() -> ofy().save().toEntity(domain));
|
||||
entity.setUnindexedProperty("gracePeriods.gracePeriodId", null);
|
||||
DomainBase domainFromEntity = ofyTm().transact(() -> ofy().load().fromEntity(entity));
|
||||
GracePeriod gracePeriod = domainFromEntity.getGracePeriods().iterator().next();
|
||||
assertThat(gracePeriod.gracePeriodId).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testPersistence() {
|
||||
// Note that this only verifies that the value stored under the foreign key is the same as that
|
||||
|
||||
Reference in New Issue
Block a user