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"]),
|
srcs = glob(["*.java"]),
|
||||||
deps = [
|
deps = [
|
||||||
"//java/google/registry/config",
|
"//java/google/registry/config",
|
||||||
|
"//java/google/registry/dns",
|
||||||
"//java/google/registry/gcs",
|
"//java/google/registry/gcs",
|
||||||
"//java/google/registry/mapreduce",
|
"//java/google/registry/mapreduce",
|
||||||
"//java/google/registry/model",
|
"//java/google/registry/model",
|
||||||
|
|
|
@ -28,6 +28,7 @@ import com.google.common.collect.ImmutableList;
|
||||||
import com.googlecode.objectify.VoidWork;
|
import com.googlecode.objectify.VoidWork;
|
||||||
import google.registry.config.RegistryConfig.Config;
|
import google.registry.config.RegistryConfig.Config;
|
||||||
import google.registry.config.RegistryConfig.ConfigModule;
|
import google.registry.config.RegistryConfig.ConfigModule;
|
||||||
|
import google.registry.dns.DnsQueue;
|
||||||
import google.registry.gcs.GcsUtils;
|
import google.registry.gcs.GcsUtils;
|
||||||
import google.registry.mapreduce.MapreduceRunner;
|
import google.registry.mapreduce.MapreduceRunner;
|
||||||
import google.registry.model.domain.DomainResource;
|
import google.registry.model.domain.DomainResource;
|
||||||
|
@ -109,6 +110,7 @@ public class RdeDomainImportAction implements Runnable {
|
||||||
|
|
||||||
private final String importBucketName;
|
private final String importBucketName;
|
||||||
private transient RdeImportUtils importUtils;
|
private transient RdeImportUtils importUtils;
|
||||||
|
private transient DnsQueue dnsQueue;
|
||||||
|
|
||||||
public RdeDomainImportMapper(String importBucketName) {
|
public RdeDomainImportMapper(String importBucketName) {
|
||||||
this.importBucketName = importBucketName;
|
this.importBucketName = importBucketName;
|
||||||
|
@ -121,6 +123,13 @@ public class RdeDomainImportAction implements Runnable {
|
||||||
return importUtils;
|
return importUtils;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private DnsQueue getDnsQueue() {
|
||||||
|
if (dnsQueue == null) {
|
||||||
|
dnsQueue = DnsQueue.create();
|
||||||
|
}
|
||||||
|
return dnsQueue;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new instance of RdeImportUtils.
|
* Creates a new instance of RdeImportUtils.
|
||||||
*/
|
*/
|
||||||
|
@ -146,6 +155,7 @@ public class RdeDomainImportAction implements Runnable {
|
||||||
DomainResource domain =
|
DomainResource domain =
|
||||||
XjcToDomainResourceConverter.convertDomain(xjcDomain);
|
XjcToDomainResourceConverter.convertDomain(xjcDomain);
|
||||||
getImportUtils().importDomain(domain);
|
getImportUtils().importDomain(domain);
|
||||||
|
getDnsQueue().addDomainRefreshTask(domain.getFullyQualifiedDomainName());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// Record the number of domains imported
|
// 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.persistActiveContact;
|
||||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||||
import static google.registry.testing.DatastoreHelper.persistSimpleResource;
|
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.GcsFilename;
|
||||||
import com.google.appengine.tools.cloudstorage.GcsService;
|
import com.google.appengine.tools.cloudstorage.GcsService;
|
||||||
|
@ -126,6 +127,14 @@ public class RdeDomainImportActionTest extends MapreduceTestCase<RdeDomainImport
|
||||||
checkHistoryEntry(historyEntries.get(0), domain);
|
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 */
|
/** Verify history entry fields are correct */
|
||||||
private void checkHistoryEntry(HistoryEntry entry, DomainResource parent) {
|
private void checkHistoryEntry(HistoryEntry entry, DomainResource parent) {
|
||||||
assertThat(entry.getType()).isEqualTo(HistoryEntry.Type.RDE_IMPORT);
|
assertThat(entry.getType()).isEqualTo(HistoryEntry.Type.RDE_IMPORT);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue