mirror of
https://github.com/google/nomulus.git
synced 2025-05-16 17:37:13 +02:00
Synchronize domains with DNS on import
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=146813124
This commit is contained in:
parent
5d4a88e5ce
commit
60a3d2a53b
3 changed files with 20 additions and 0 deletions
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<RdeDomainImport
|
|||
checkHistoryEntry(historyEntries.get(0), domain);
|
||||
}
|
||||
|
||||
/** Ensures that DNS publishing is kicked off on domain import */
|
||||
@Test
|
||||
public void test_mapreducePublishesToDns() throws Exception {
|
||||
pushToGcs(DEPOSIT_1_DOMAIN);
|
||||
runMapreduce();
|
||||
assertDnsTasksEnqueued("example1.test");
|
||||
}
|
||||
|
||||
/** Verify history entry fields are correct */
|
||||
private void checkHistoryEntry(HistoryEntry entry, DomainResource parent) {
|
||||
assertThat(entry.getType()).isEqualTo(HistoryEntry.Type.RDE_IMPORT);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue