mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 07:57:13 +02:00
Generate authInfo for imported domains
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=146956307
This commit is contained in:
parent
b9222759dc
commit
6cdb3d81d3
4 changed files with 37 additions and 3 deletions
|
@ -34,10 +34,12 @@ import google.registry.model.billing.BillingEvent.Flag;
|
|||
import google.registry.model.billing.BillingEvent.Reason;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DesignatedContact;
|
||||
import google.registry.model.domain.DomainAuthInfo;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.GracePeriod;
|
||||
import google.registry.model.domain.rgp.GracePeriodStatus;
|
||||
import google.registry.model.domain.secdns.DelegationSignerData;
|
||||
import google.registry.model.eppcommon.AuthInfo.PasswordAuth;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.index.ForeignKeyIndex;
|
||||
|
@ -47,6 +49,9 @@ import google.registry.model.registry.Registry;
|
|||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.transfer.TransferData;
|
||||
import google.registry.model.transfer.TransferStatus;
|
||||
import google.registry.util.NonFinalForTesting;
|
||||
import google.registry.util.RandomStringGenerator;
|
||||
import google.registry.util.StringGenerator;
|
||||
import google.registry.util.XmlToEnumMapper;
|
||||
import google.registry.xjc.domain.XjcDomainContactType;
|
||||
import google.registry.xjc.domain.XjcDomainNsType;
|
||||
|
@ -56,11 +61,27 @@ import google.registry.xjc.rdedomain.XjcRdeDomainElement;
|
|||
import google.registry.xjc.rdedomain.XjcRdeDomainTransferDataType;
|
||||
import google.registry.xjc.rgp.XjcRgpStatusType;
|
||||
import google.registry.xjc.secdns.XjcSecdnsDsDataType;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.ProviderException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Random;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/** Utility class that converts an {@link XjcRdeDomainElement} into a {@link DomainResource}. */
|
||||
final class XjcToDomainResourceConverter extends XjcToEppResourceConverter {
|
||||
|
||||
@NonFinalForTesting
|
||||
static StringGenerator stringGenerator = new RandomStringGenerator(
|
||||
StringGenerator.Alphabets.BASE_64, getRandom());
|
||||
|
||||
static Random getRandom() {
|
||||
try {
|
||||
return SecureRandom.getInstance("NativePRNG");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
throw new ProviderException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static final XmlToEnumMapper<TransferStatus> TRANSFER_STATUS_MAPPER =
|
||||
XmlToEnumMapper.create(TransferStatus.values());
|
||||
|
||||
|
@ -194,7 +215,11 @@ final class XjcToDomainResourceConverter extends XjcToEppResourceConverter {
|
|||
? ImmutableSet.<DelegationSignerData>of()
|
||||
: ImmutableSet.copyOf(
|
||||
transform(domain.getSecDNS().getDsDatas(), SECDNS_CONVERTER)))
|
||||
.setTransferData(convertDomainTransferData(domain.getTrnData()));
|
||||
.setTransferData(convertDomainTransferData(domain.getTrnData()))
|
||||
// authInfo pw must be a token between 6 and 16 characters in length
|
||||
// generate a token of 16 characters as the default authInfo pw
|
||||
.setAuthInfo(DomainAuthInfo
|
||||
.create(PasswordAuth.create(stringGenerator.createString(16), domain.getRoid())));
|
||||
checkArgumentNotNull(
|
||||
domain.getRegistrant(), "Registrant is missing for domain '%s'", domain.getName());
|
||||
builder = builder.setRegistrant(convertRegistrant(domain.getRegistrant()));
|
||||
|
|
|
@ -26,7 +26,7 @@ public class RandomStringGenerator extends StringGenerator {
|
|||
private final Random random;
|
||||
|
||||
@Inject
|
||||
RandomStringGenerator(@Named("alphabet") String alphabet, Random random) {
|
||||
public RandomStringGenerator(@Named("alphabet") String alphabet, Random random) {
|
||||
super(alphabet);
|
||||
this.random = random;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ java_library(
|
|||
"//java/google/registry/xjc",
|
||||
"//javatests/google/registry/testing",
|
||||
"//javatests/google/registry/testing/mapreduce",
|
||||
"//javatests/google/registry/xml",
|
||||
"//third_party/java/objectify:objectify-v4_1",
|
||||
"@com_google_appengine_api_1_0_sdk//:testonly",
|
||||
"@com_google_appengine_tools_appengine_gcs_client",
|
||||
|
|
|
@ -45,7 +45,10 @@ import google.registry.model.host.HostResource;
|
|||
import google.registry.model.poll.PollMessage;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.testing.AppEngineRule;
|
||||
import google.registry.testing.DeterministicStringGenerator;
|
||||
import google.registry.testing.ExceptionRule;
|
||||
import google.registry.testing.InjectRule;
|
||||
import google.registry.util.StringGenerator;
|
||||
import google.registry.xjc.rdedomain.XjcRdeDomain;
|
||||
import google.registry.xjc.rdedomain.XjcRdeDomainElement;
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
@ -86,12 +89,17 @@ public class XjcToDomainResourceConverterTest {
|
|||
|
||||
@Rule public final ExceptionRule thrown = new ExceptionRule();
|
||||
|
||||
@Rule public final InjectRule inject = new InjectRule();
|
||||
|
||||
private Unmarshaller unmarshaller;
|
||||
private DeterministicStringGenerator stringGenerator;
|
||||
|
||||
@Before
|
||||
public void before() throws Exception {
|
||||
createTld("example");
|
||||
unmarshaller = JAXBContext.newInstance(JAXB_CONTEXT_PACKAGES).createUnmarshaller();
|
||||
stringGenerator = new DeterministicStringGenerator(StringGenerator.Alphabets.BASE_64);
|
||||
inject.setStaticField(XjcToDomainResourceConverter.class, "stringGenerator", stringGenerator);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -120,6 +128,8 @@ public class XjcToDomainResourceConverterTest {
|
|||
assertThat(domain.getLastEppUpdateTime()).isNull();
|
||||
assertThat(domain.getAutorenewBillingEvent()).isNotNull();
|
||||
assertThat(domain.getAutorenewPollMessage()).isNotNull();
|
||||
assertThat(domain.getAuthInfo()).isNotNull();
|
||||
assertThat(domain.getAuthInfo().getPw().getValue()).isEqualTo("0123456789abcdef");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue