From cde1c78f5e7c6ecf8369ff4ee9f2de8e7e85c624 Mon Sep 17 00:00:00 2001 From: Michael Muller Date: Wed, 25 Nov 2020 11:15:10 -0500 Subject: [PATCH] Add replay-testing to DomainDeleteFlowTest (#886) * Minor fixes: - Initialize "requestedByRegistrar" to false (it's non-nullable). - Store test entities (registrar, hosts and contacts) in JPA. * Flyway changes * Add ReplayExtension to DomainDeleteFlowTest * Check in latest ER diagrams --- .../flows/domain/DomainDeleteFlowTest.java | 49 ++++++++++++++----- .../registry/testing/DatabaseHelper.java | 13 +++-- .../sql/er_diagram/brief_er_diagram.html | 4 +- .../sql/er_diagram/full_er_diagram.html | 14 +++--- 4 files changed, 54 insertions(+), 26 deletions(-) diff --git a/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java index c86c3f4dd..0b942a29a 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java @@ -96,17 +96,24 @@ import google.registry.model.transfer.DomainTransferData; import google.registry.model.transfer.TransferResponse; import google.registry.model.transfer.TransferStatus; import google.registry.persistence.VKey; +import google.registry.testing.ReplayExtension; import google.registry.testing.TaskQueueHelper.TaskMatcher; import java.util.Map; import org.joda.money.Money; import org.joda.time.DateTime; import org.joda.time.Duration; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; /** Unit tests for {@link DomainDeleteFlow}. */ class DomainDeleteFlowTest extends ResourceFlowTestCase { + @Order(value = Order.DEFAULT - 2) + @RegisterExtension + final ReplayExtension replayExtension = new ReplayExtension(clock); + private DomainBase domain; private HistoryEntry earlierHistoryEntry; @@ -137,6 +144,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase tm().getTransactionTime())) + .setParent(domain) + .build()); BillingEvent.OneTime transferBillingEvent = persistResource(createBillingEventForTransfer( domain, historyEntryDomainTransfer, @@ -1184,6 +1186,7 @@ public class DatabaseHelper { public static void deleteResource(final Object resource) { if (alwaysSaveWithBackup) { tm().transact(() -> tm().delete(resource)); + maybeAdvanceClock(); } else { transactIfJpaTm(() -> tm().deleteWithoutBackup(resource)); } diff --git a/db/src/main/resources/sql/er_diagram/brief_er_diagram.html b/db/src/main/resources/sql/er_diagram/brief_er_diagram.html index 28dcf5ae1..cb9d64cd0 100644 --- a/db/src/main/resources/sql/er_diagram/brief_er_diagram.html +++ b/db/src/main/resources/sql/er_diagram/brief_er_diagram.html @@ -261,7 +261,7 @@ td.section { generated on - 2020-11-18 21:42:47.876348 + 2020-11-24 20:57:00.530791 last flyway file @@ -284,7 +284,7 @@ td.section { generated on - 2020-11-18 21:42:47.876348 + 2020-11-24 20:57:00.530791 diff --git a/db/src/main/resources/sql/er_diagram/full_er_diagram.html b/db/src/main/resources/sql/er_diagram/full_er_diagram.html index a4d9da2b7..3f12e4c00 100644 --- a/db/src/main/resources/sql/er_diagram/full_er_diagram.html +++ b/db/src/main/resources/sql/er_diagram/full_er_diagram.html @@ -261,7 +261,7 @@ td.section { generated on - 2020-11-18 21:42:46.037281 + 2020-11-24 20:56:58.3401 last flyway file @@ -274,19 +274,19 @@ td.section { SchemaCrawler_Diagram - + generated by - + SchemaCrawler 16.10.1 - + generated on - - 2020-11-18 21:42:46.037281 + + 2020-11-24 20:56:58.3401 - + allocationtoken_a08ccbef