Modify DeleteReservedListCommand to delete from both databases (#1025)

* Modify DeleteReservedListCommand to use both databases

* switch to confirming command

* fix typo
This commit is contained in:
sarahcaseybot
2021-03-19 18:49:15 -04:00
committed by GitHub
parent 3159e663dc
commit 955f1b1ff8
8 changed files with 92 additions and 8 deletions
@@ -72,6 +72,21 @@ public class ReservedListDatastoreDaoTest {
assertThat(savedList.get()).isEqualTo(reservedList);
}
@Test
void delete_worksSuccessfully() {
ReservedListDatastoreDao.save(reservedList);
assertThat(ReservedListDatastoreDao.getLatestRevision("testlist").isPresent()).isTrue();
ReservedListDatastoreDao.delete(reservedList);
assertThat(ReservedListDatastoreDao.getLatestRevision("testlist").isPresent()).isFalse();
}
@Test
void delete_listNotInDatastore() {
assertThat(ReservedListDatastoreDao.getLatestRevision("testlist").isPresent()).isFalse();
ReservedListDatastoreDao.delete(reservedList);
assertThat(ReservedListDatastoreDao.getLatestRevision("testlist").isPresent()).isFalse();
}
@Test
void getLatestRevision_worksSuccessfully() {
assertThat(ReservedListDatastoreDao.getLatestRevision("testlist").isPresent()).isFalse();
@@ -90,7 +90,7 @@ public class ReservedListDualDatabaseDaoTest extends EntityTestCase {
}
@TestOfyAndSql
void testSave_CloudSqlPrimary_success() {
void testSave_cloudSqlPrimary_success() {
fakeClock.advanceBy(Duration.standardDays(5));
ReservedListDualDatabaseDao.save(reservedList);
Optional<ReservedList> savedList =
@@ -98,6 +98,27 @@ public class ReservedListDualDatabaseDaoTest extends EntityTestCase {
assertThat(savedList.get()).isEqualTo(reservedList);
}
@TestOfyAndSql
void testDelete_datastorePrimary_success() {
ReservedListDualDatabaseDao.save(reservedList);
assertThat(ReservedListDualDatabaseDao.getLatestRevision(reservedList.getName()).isPresent())
.isTrue();
ReservedListDualDatabaseDao.delete(reservedList);
assertThat(ReservedListDualDatabaseDao.getLatestRevision(reservedList.getName()).isPresent())
.isFalse();
}
@TestOfyAndSql
void testDelete_cloudSqlPrimary_success() {
fakeClock.advanceBy(Duration.standardDays(5));
ReservedListDualDatabaseDao.save(reservedList);
assertThat(ReservedListDualDatabaseDao.getLatestRevision(reservedList.getName()).isPresent())
.isTrue();
ReservedListDualDatabaseDao.delete(reservedList);
assertThat(ReservedListDualDatabaseDao.getLatestRevision(reservedList.getName()).isPresent())
.isFalse();
}
@TestOfyAndSql
void testSaveAndLoad_datastorePrimary_emptyList() {
ReservedList list =
@@ -80,6 +80,21 @@ public class ReservedListSqlDaoTest {
});
}
@Test
void delete_worksSuccessfully() {
ReservedListSqlDao.save(testReservedList);
assertThat(ReservedListSqlDao.checkExists("testlist")).isTrue();
ReservedListSqlDao.delete(testReservedList);
assertThat(ReservedListSqlDao.checkExists("testlist")).isFalse();
}
@Test
void delete_listNotInDatabase() {
assertThat(ReservedListSqlDao.checkExists("testlist")).isFalse();
ReservedListSqlDao.delete(testReservedList);
assertThat(ReservedListSqlDao.checkExists("testlist")).isFalse();
}
@Test
void checkExists_worksSuccessfully() {
assertThat(ReservedListSqlDao.checkExists("testlist")).isFalse();
@@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import google.registry.model.registry.Registry;
import google.registry.model.registry.label.ReservedList;
import google.registry.model.registry.label.ReservedListDualDatabaseDao;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -40,7 +41,7 @@ class DeleteReservedListCommandTest extends CommandTestCase<DeleteReservedListCo
void testSuccess() throws Exception {
assertThat(reservedList.getReservedListEntries()).hasSize(1);
runCommandForced("--name=common");
assertThat(ReservedList.get("common")).isEmpty();
assertThat(ReservedListDualDatabaseDao.getLatestRevision(reservedList.getName())).isEmpty();
}
@Test
@@ -62,7 +63,7 @@ class DeleteReservedListCommandTest extends CommandTestCase<DeleteReservedListCo
assertThrows(
IllegalArgumentException.class,
() -> runCommandForced("--name=" + reservedList.getName()));
assertThat(ReservedList.get(reservedList.getName())).isPresent();
assertThat(ReservedListDualDatabaseDao.getLatestRevision(reservedList.getName())).isPresent();
assertThat(thrown)
.hasMessageThat()
.isEqualTo("Cannot delete reserved list because it is used on these tld(s): xn--q9jyb4c");