mirror of
https://github.com/google/nomulus.git
synced 2025-07-07 03:33:28 +02:00
Add ReservedList to CloudSQL in unit tests (#992)
* Add ReservedList to CloudSQL in unit tests * Remove unnecessary changes * Change databasehelper to use DualDatabaseDao
This commit is contained in:
parent
e5801e1b60
commit
79b4cb0d82
6 changed files with 81 additions and 39 deletions
|
@ -33,6 +33,7 @@ import static org.joda.money.CurrencyUnit.EUR;
|
|||
import static org.joda.money.CurrencyUnit.USD;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
import com.googlecode.objectify.Key;
|
||||
|
@ -135,9 +136,23 @@ public class RegistryTest extends EntityTestCase {
|
|||
@TestOfyAndSql
|
||||
void testSetReservedList_doesntMutateExistingRegistry() {
|
||||
ReservedList rl15 =
|
||||
persistReservedList("tld-reserved15", "potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED");
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("tld-reserved15")
|
||||
.setReservedListMapFromLines(
|
||||
ImmutableList.of("potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED"))
|
||||
.setShouldPublish(true)
|
||||
.setLastUpdateTime(fakeClock.nowUtc())
|
||||
.build());
|
||||
ReservedList rl16 =
|
||||
persistReservedList("tld-reserved16", "port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED");
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("tld-reserved16")
|
||||
.setReservedListMapFromLines(
|
||||
ImmutableList.of("port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED"))
|
||||
.setShouldPublish(true)
|
||||
.setLastUpdateTime(fakeClock.nowUtc())
|
||||
.build());
|
||||
Registry registry1 =
|
||||
newRegistry("propter", "PROPTER")
|
||||
.asBuilder()
|
||||
|
@ -173,9 +188,23 @@ public class RegistryTest extends EntityTestCase {
|
|||
@TestOfyAndSql
|
||||
void testSetReservedLists() {
|
||||
ReservedList rl5 =
|
||||
persistReservedList("tld-reserved5", "lol,FULLY_BLOCKED", "cat,FULLY_BLOCKED");
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("tld-reserved5")
|
||||
.setReservedListMapFromLines(
|
||||
ImmutableList.of("potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED"))
|
||||
.setShouldPublish(true)
|
||||
.setLastUpdateTime(fakeClock.nowUtc())
|
||||
.build());
|
||||
ReservedList rl6 =
|
||||
persistReservedList("tld-reserved6", "hammock,FULLY_BLOCKED", "mouse,FULLY_BLOCKED");
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("tld-reserved6")
|
||||
.setReservedListMapFromLines(
|
||||
ImmutableList.of("port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED"))
|
||||
.setShouldPublish(true)
|
||||
.setLastUpdateTime(fakeClock.nowUtc())
|
||||
.build());
|
||||
Registry r =
|
||||
Registry.get("tld").asBuilder().setReservedLists(ImmutableSet.of(rl5, rl6)).build();
|
||||
assertThat(r.getReservedLists().stream().map(Key::getName))
|
||||
|
@ -186,15 +215,29 @@ public class RegistryTest extends EntityTestCase {
|
|||
|
||||
@TestOfyAndSql
|
||||
void testSetReservedListsByName() {
|
||||
persistReservedList("tld-reserved24", "lol,FULLY_BLOCKED", "cat,FULLY_BLOCKED");
|
||||
persistReservedList("tld-reserved25", "mit,FULLY_BLOCKED", "tim,FULLY_BLOCKED");
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("tld-reserved15")
|
||||
.setReservedListMapFromLines(
|
||||
ImmutableList.of("potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED"))
|
||||
.setShouldPublish(true)
|
||||
.setLastUpdateTime(fakeClock.nowUtc())
|
||||
.build());
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("tld-reserved16")
|
||||
.setReservedListMapFromLines(
|
||||
ImmutableList.of("port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED"))
|
||||
.setShouldPublish(true)
|
||||
.setLastUpdateTime(fakeClock.nowUtc())
|
||||
.build());
|
||||
Registry r =
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
.setReservedListsByName(ImmutableSet.of("tld-reserved24", "tld-reserved25"))
|
||||
.setReservedListsByName(ImmutableSet.of("tld-reserved15", "tld-reserved16"))
|
||||
.build();
|
||||
assertThat(r.getReservedLists().stream().map(Key::getName))
|
||||
.containsExactly("tld-reserved24", "tld-reserved25");
|
||||
.containsExactly("tld-reserved15", "tld-reserved16");
|
||||
r = Registry.get("tld").asBuilder().setReservedListsByName(ImmutableSet.of()).build();
|
||||
assertThat(r.getReservedLists()).isEmpty();
|
||||
}
|
||||
|
|
|
@ -105,6 +105,7 @@ import google.registry.model.registry.label.PremiumList.PremiumListEntry;
|
|||
import google.registry.model.registry.label.PremiumList.PremiumListRevision;
|
||||
import google.registry.model.registry.label.PremiumListDualDao;
|
||||
import google.registry.model.registry.label.ReservedList;
|
||||
import google.registry.model.registry.label.ReservedListDualDatabaseDao;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.transfer.ContactTransferData;
|
||||
import google.registry.model.transfer.DomainTransferData;
|
||||
|
@ -345,6 +346,13 @@ public class DatabaseHelper {
|
|||
return persistReservedList(listName, true, lines);
|
||||
}
|
||||
|
||||
public static ReservedList persistReservedList(ReservedList reservedList) {
|
||||
ReservedListDualDatabaseDao.save(reservedList);
|
||||
maybeAdvanceClock();
|
||||
tm().clearSessionCache();
|
||||
return reservedList;
|
||||
}
|
||||
|
||||
public static ReservedList persistReservedList(
|
||||
String listName, boolean shouldPublish, String... lines) {
|
||||
ReservedList reservedList =
|
||||
|
@ -354,13 +362,7 @@ public class DatabaseHelper {
|
|||
.setShouldPublish(shouldPublish)
|
||||
.setLastUpdateTime(DateTime.now(DateTimeZone.UTC))
|
||||
.build();
|
||||
return tm().isOfy()
|
||||
? persistResource(reservedList)
|
||||
: tm().transact(
|
||||
() -> {
|
||||
tm().insert(reservedList);
|
||||
return reservedList;
|
||||
});
|
||||
return persistReservedList(reservedList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -17,7 +17,7 @@ package google.registry.tools;
|
|||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.common.truth.Truth8.assertThat;
|
||||
import static google.registry.model.registry.label.ReservationType.FULLY_BLOCKED;
|
||||
import static google.registry.testing.DatabaseHelper.persistResource;
|
||||
import static google.registry.testing.DatabaseHelper.persistReservedList;
|
||||
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
|
@ -35,11 +35,11 @@ class UpdateReservedListCommandTest
|
|||
|
||||
@BeforeEach
|
||||
void beforeEach() {
|
||||
populateInitialReservedListInDatastore(true);
|
||||
populateInitialReservedListInDatabase(true);
|
||||
}
|
||||
|
||||
private void populateInitialReservedListInDatastore(boolean shouldPublish) {
|
||||
persistResource(
|
||||
private void populateInitialReservedListInDatabase(boolean shouldPublish) {
|
||||
persistReservedList(
|
||||
new ReservedList.Builder()
|
||||
.setName("xn--q9jyb4c_common-reserved")
|
||||
.setReservedListMapFromLines(ImmutableList.of("helicopter,FULLY_BLOCKED"))
|
||||
|
@ -89,7 +89,7 @@ class UpdateReservedListCommandTest
|
|||
|
||||
@Test
|
||||
void testSuccess_shouldPublish_doesntOverrideFalseIfNotSpecified() throws Exception {
|
||||
populateInitialReservedListInDatastore(false);
|
||||
populateInitialReservedListInDatabase(false);
|
||||
runCommandForced("--input=" + reservedTermsPath);
|
||||
assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent();
|
||||
ReservedList reservedList = ReservedList.get("xn--q9jyb4c_common-reserved").get();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue