From 60a3d2a53beb54f1ab3c0318b479e134e1718323 Mon Sep 17 00:00:00 2001 From: Wolfgang Meyers Date: Tue, 7 Feb 2017 11:47:04 -0800 Subject: [PATCH] Synchronize domains with DNS on import ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=146813124 --- java/google/registry/rde/imports/BUILD | 1 + .../registry/rde/imports/RdeDomainImportAction.java | 10 ++++++++++ .../rde/imports/RdeDomainImportActionTest.java | 9 +++++++++ 3 files changed, 20 insertions(+) diff --git a/java/google/registry/rde/imports/BUILD b/java/google/registry/rde/imports/BUILD index 1ed15d94d..a7b372e17 100644 --- a/java/google/registry/rde/imports/BUILD +++ b/java/google/registry/rde/imports/BUILD @@ -9,6 +9,7 @@ java_library( srcs = glob(["*.java"]), deps = [ "//java/google/registry/config", + "//java/google/registry/dns", "//java/google/registry/gcs", "//java/google/registry/mapreduce", "//java/google/registry/model", diff --git a/java/google/registry/rde/imports/RdeDomainImportAction.java b/java/google/registry/rde/imports/RdeDomainImportAction.java index f954d8595..12c77379b 100644 --- a/java/google/registry/rde/imports/RdeDomainImportAction.java +++ b/java/google/registry/rde/imports/RdeDomainImportAction.java @@ -28,6 +28,7 @@ import com.google.common.collect.ImmutableList; import com.googlecode.objectify.VoidWork; import google.registry.config.RegistryConfig.Config; import google.registry.config.RegistryConfig.ConfigModule; +import google.registry.dns.DnsQueue; import google.registry.gcs.GcsUtils; import google.registry.mapreduce.MapreduceRunner; import google.registry.model.domain.DomainResource; @@ -109,6 +110,7 @@ public class RdeDomainImportAction implements Runnable { private final String importBucketName; private transient RdeImportUtils importUtils; + private transient DnsQueue dnsQueue; public RdeDomainImportMapper(String importBucketName) { this.importBucketName = importBucketName; @@ -121,6 +123,13 @@ public class RdeDomainImportAction implements Runnable { return importUtils; } + private DnsQueue getDnsQueue() { + if (dnsQueue == null) { + dnsQueue = DnsQueue.create(); + } + return dnsQueue; + } + /** * Creates a new instance of RdeImportUtils. */ @@ -146,6 +155,7 @@ public class RdeDomainImportAction implements Runnable { DomainResource domain = XjcToDomainResourceConverter.convertDomain(xjcDomain); getImportUtils().importDomain(domain); + getDnsQueue().addDomainRefreshTask(domain.getFullyQualifiedDomainName()); } }); // Record the number of domains imported diff --git a/javatests/google/registry/rde/imports/RdeDomainImportActionTest.java b/javatests/google/registry/rde/imports/RdeDomainImportActionTest.java index b63e5c3be..30f96ca5a 100644 --- a/javatests/google/registry/rde/imports/RdeDomainImportActionTest.java +++ b/javatests/google/registry/rde/imports/RdeDomainImportActionTest.java @@ -22,6 +22,7 @@ import static google.registry.testing.DatastoreHelper.newDomainResource; import static google.registry.testing.DatastoreHelper.persistActiveContact; import static google.registry.testing.DatastoreHelper.persistResource; import static google.registry.testing.DatastoreHelper.persistSimpleResource; +import static google.registry.testing.TaskQueueHelper.assertDnsTasksEnqueued; import com.google.appengine.tools.cloudstorage.GcsFilename; import com.google.appengine.tools.cloudstorage.GcsService; @@ -126,6 +127,14 @@ public class RdeDomainImportActionTest extends MapreduceTestCase