mirror of
https://github.com/google/nomulus.git
synced 2025-07-08 20:23:24 +02:00
Use the correct text VKey for HostResource's superordinateDomain (#608)
* Store the superordinateDomain reference as a VKey rather than Key This is a reference to a Domain object, so we should store it as a VKey in reference to the Domain table. This should not affect any business logic, but rather will allow us to set up the SQL tables for HostResource et al. properly.
This commit is contained in:
parent
b324fb98d3
commit
0f415f78a6
35 changed files with 276 additions and 249 deletions
|
@ -725,7 +725,7 @@ public class DeleteContactsAndHostsActionTest
|
|||
persistResource(
|
||||
persistHostPendingDelete("ns2.example.tld")
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
enqueuer.enqueueAsyncDelete(
|
||||
host,
|
||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.testing.EppMetricSubject.assertThat;
|
|||
import static google.registry.testing.HostResourceSubject.assertAboutHosts;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.testing.AppEngineRule;
|
||||
|
@ -221,7 +220,7 @@ public class EppLifecycleHostTest extends EppTestCase {
|
|||
loadByForeignKey(DomainBase.class, "example.bar.foo.tld", timeAfterCreates).get();
|
||||
assertAboutHosts()
|
||||
.that(exampleBarFooTldHost)
|
||||
.hasSuperordinateDomain(Key.create(exampleBarFooTldDomain));
|
||||
.hasSuperordinateDomain(exampleBarFooTldDomain.createVKey());
|
||||
assertThat(exampleBarFooTldDomain.getSubordinateHosts())
|
||||
.containsExactly("ns1.example.bar.foo.tld");
|
||||
|
||||
|
@ -231,14 +230,14 @@ public class EppLifecycleHostTest extends EppTestCase {
|
|||
loadByForeignKey(DomainBase.class, "example.foo.tld", timeAfterCreates).get();
|
||||
assertAboutHosts()
|
||||
.that(exampleFooTldHost)
|
||||
.hasSuperordinateDomain(Key.create(exampleFooTldDomain));
|
||||
.hasSuperordinateDomain(exampleFooTldDomain.createVKey());
|
||||
assertThat(exampleFooTldDomain.getSubordinateHosts()).containsExactly("ns1.example.foo.tld");
|
||||
|
||||
HostResource exampleTldHost =
|
||||
loadByForeignKey(HostResource.class, "ns1.example.tld", timeAfterCreates).get();
|
||||
DomainBase exampleTldDomain =
|
||||
loadByForeignKey(DomainBase.class, "example.tld", timeAfterCreates).get();
|
||||
assertAboutHosts().that(exampleTldHost).hasSuperordinateDomain(Key.create(exampleTldDomain));
|
||||
assertAboutHosts().that(exampleTldHost).hasSuperordinateDomain(exampleTldDomain.createVKey());
|
||||
assertThat(exampleTldDomain.getSubordinateHosts()).containsExactly("ns1.example.tld");
|
||||
|
||||
assertThatLogoutSucceeds();
|
||||
|
|
|
@ -719,7 +719,7 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
persistResource(
|
||||
newHostResource("ns1." + getUniqueIdFromCommand())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(reloadResourceByForeignKey()))
|
||||
.setSuperordinateDomain(reloadResourceByForeignKey().createVKey())
|
||||
.setDeletionTime(clock.nowUtc().minusDays(1))
|
||||
.build());
|
||||
clock.advanceOneMilli();
|
||||
|
@ -767,7 +767,7 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
persistResource(
|
||||
newHostResource("ns1." + getUniqueIdFromCommand())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(reloadResourceByForeignKey()))
|
||||
.setSuperordinateDomain(reloadResourceByForeignKey().createVKey())
|
||||
.build());
|
||||
persistResource(
|
||||
domain.asBuilder().addSubordinateHost(subordinateHost.getFullyQualifiedHostName()).build());
|
||||
|
|
|
@ -123,14 +123,14 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
|
|||
.build());
|
||||
// Set the superordinate domain of ns1.example.com to example.com. In reality, this would have
|
||||
// happened in the flow that created it, but here we just overwrite it in Datastore.
|
||||
host1 = persistResource(host1.asBuilder().setSuperordinateDomain(Key.create(domain)).build());
|
||||
host1 = persistResource(host1.asBuilder().setSuperordinateDomain(domain.createVKey()).build());
|
||||
// Create a subordinate host that is not delegated to by anyone.
|
||||
host3 =
|
||||
persistResource(
|
||||
new HostResource.Builder()
|
||||
.setFullyQualifiedHostName("ns2.example.tld")
|
||||
.setRepoId("3FF-TLD")
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
// Add the subordinate host keys to the existing domain.
|
||||
domain =
|
||||
|
|
|
@ -29,7 +29,6 @@ import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
|||
|
||||
import com.google.common.base.Ascii;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.flows.Flow;
|
||||
import google.registry.flows.ResourceFlowTestCase;
|
||||
import google.registry.model.EppResource;
|
||||
|
@ -116,7 +115,7 @@ public class DomainTransferFlowTestCase<F extends Flow, R extends EppResource>
|
|||
.setPersistedCurrentSponsorClientId("TheRegistrar")
|
||||
.setCreationClientId("TheRegistrar")
|
||||
.setCreationTimeForTest(DateTime.parse("1999-04-03T22:00:00.0Z"))
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
domain =
|
||||
persistResource(
|
||||
|
|
|
@ -389,8 +389,8 @@ public class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow,
|
|||
HostResource existingHost =
|
||||
loadByForeignKey(HostResource.class, "ns1.example.tld", clock.nowUtc()).get();
|
||||
addedHost = loadByForeignKey(HostResource.class, "ns2.example.tld", clock.nowUtc()).get();
|
||||
assertThat(existingHost.getSuperordinateDomain()).isEqualTo(Key.create(domain));
|
||||
assertThat(addedHost.getSuperordinateDomain()).isEqualTo(Key.create(domain));
|
||||
assertThat(existingHost.getSuperordinateDomain()).isEqualTo(domain.createVKey());
|
||||
assertThat(addedHost.getSuperordinateDomain()).isEqualTo(domain.createVKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -34,7 +34,6 @@ import static org.junit.Assert.assertThrows;
|
|||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.flows.EppException;
|
||||
import google.registry.flows.FlowUtils.IpAddressVersionMismatchException;
|
||||
import google.registry.flows.ResourceFlowTestCase;
|
||||
|
@ -119,7 +118,7 @@ public class HostCreateFlowTest extends ResourceFlowTestCase<HostCreateFlow, Hos
|
|||
HostResource host = reloadResourceByForeignKey();
|
||||
DomainBase superordinateDomain =
|
||||
loadByForeignKey(DomainBase.class, "example.tld", clock.nowUtc()).get();
|
||||
assertAboutHosts().that(host).hasSuperordinateDomain(Key.create(superordinateDomain));
|
||||
assertAboutHosts().that(host).hasSuperordinateDomain(superordinateDomain.createVKey());
|
||||
assertThat(superordinateDomain.getSubordinateHosts()).containsExactly("ns1.example.tld");
|
||||
assertDnsTasksEnqueued("ns1.example.tld");
|
||||
}
|
||||
|
@ -148,7 +147,7 @@ public class HostCreateFlowTest extends ResourceFlowTestCase<HostCreateFlow, Hos
|
|||
HostResource host = reloadResourceByForeignKey();
|
||||
DomainBase superordinateDomain =
|
||||
loadByForeignKey(DomainBase.class, "example.tld", clock.nowUtc()).get();
|
||||
assertAboutHosts().that(host).hasSuperordinateDomain(Key.create(superordinateDomain));
|
||||
assertAboutHosts().that(host).hasSuperordinateDomain(superordinateDomain.createVKey());
|
||||
assertThat(superordinateDomain.getSubordinateHosts()).containsExactly("ns1.example.tld");
|
||||
assertDnsTasksEnqueued("ns1.example.tld");
|
||||
}
|
||||
|
|
|
@ -29,7 +29,6 @@ import static org.junit.Assert.assertThrows;
|
|||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.flows.EppException;
|
||||
import google.registry.flows.ResourceFlowTestCase;
|
||||
import google.registry.flows.ResourceFlowUtils.ResourceDoesNotExistException;
|
||||
|
@ -186,7 +185,7 @@ public class HostDeleteFlowTest extends ResourceFlowTestCase<HostDeleteFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("NewRegistrar") // Shouldn't hurt.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(loadFile("host_delete_response.xml"));
|
||||
|
@ -206,7 +205,7 @@ public class HostDeleteFlowTest extends ResourceFlowTestCase<HostDeleteFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("TheRegistrar") // Shouldn't help.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
EppException thrown = assertThrows(ResourceNotOwnedException.class, this::runFlow);
|
||||
assertAboutEppExceptions().that(thrown).marshalsToXml();
|
||||
|
@ -239,7 +238,7 @@ public class HostDeleteFlowTest extends ResourceFlowTestCase<HostDeleteFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("TheRegistrar") // Shouldn't hurt.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(loadFile("host_delete_response.xml"));
|
||||
|
@ -272,7 +271,7 @@ public class HostDeleteFlowTest extends ResourceFlowTestCase<HostDeleteFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("NewRegistrar") // Shouldn't help.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
EppException thrown = assertThrows(ResourceNotOwnedException.class, this::runFlow);
|
||||
assertAboutEppExceptions().that(thrown).marshalsToXml();
|
||||
|
|
|
@ -25,7 +25,6 @@ import static org.junit.Assert.assertThrows;
|
|||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.net.InetAddresses;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.flows.EppException;
|
||||
import google.registry.flows.ResourceFlowTestCase;
|
||||
import google.registry.flows.ResourceFlowUtils.ResourceDoesNotExistException;
|
||||
|
@ -118,7 +117,7 @@ public class HostInfoFlowTest extends ResourceFlowTestCase<HostInfoFlow, HostRes
|
|||
persistHostResource()
|
||||
.asBuilder()
|
||||
.setRepoId("CEEF-FOOBAR")
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setLastSuperordinateChange(lastSuperordinateChange)
|
||||
.build());
|
||||
assertTransactionalFlow(false);
|
||||
|
|
|
@ -220,7 +220,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
.that(reloadResourceByForeignKey())
|
||||
.hasLastSuperordinateChange(oldHost.getLastSuperordinateChange())
|
||||
.and()
|
||||
.hasSuperordinateDomain(Key.create(domain))
|
||||
.hasSuperordinateDomain(domain.createVKey())
|
||||
.and()
|
||||
.hasPersistedCurrentSponsorClientId("TheRegistrar")
|
||||
.and()
|
||||
|
@ -246,7 +246,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
.that(reloadResourceByForeignKey())
|
||||
.hasLastSuperordinateChange(oldHost.getLastSuperordinateChange())
|
||||
.and()
|
||||
.hasSuperordinateDomain(Key.create(domain))
|
||||
.hasSuperordinateDomain(domain.createVKey())
|
||||
.and()
|
||||
.hasPersistedCurrentSponsorClientId("NewRegistrar")
|
||||
.and()
|
||||
|
@ -279,7 +279,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
HostResource renamedHost = doSuccessfulTest();
|
||||
assertAboutHosts()
|
||||
.that(renamedHost)
|
||||
.hasSuperordinateDomain(Key.create(domain))
|
||||
.hasSuperordinateDomain(domain.createVKey())
|
||||
.and()
|
||||
.hasLastSuperordinateChange(oldHost.getLastSuperordinateChange())
|
||||
.and()
|
||||
|
@ -313,7 +313,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
DateTime now = clock.nowUtc();
|
||||
assertAboutHosts()
|
||||
.that(renamedHost)
|
||||
.hasSuperordinateDomain(Key.create(example))
|
||||
.hasSuperordinateDomain(example.createVKey())
|
||||
.and()
|
||||
.hasLastSuperordinateChange(now)
|
||||
.and()
|
||||
|
@ -350,7 +350,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
DateTime now = clock.nowUtc();
|
||||
assertAboutHosts()
|
||||
.that(renamedHost)
|
||||
.hasSuperordinateDomain(Key.create(tldDomain))
|
||||
.hasSuperordinateDomain(tldDomain.createVKey())
|
||||
.and()
|
||||
.hasLastSuperordinateChange(now)
|
||||
.and()
|
||||
|
@ -432,7 +432,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
DateTime now = clock.nowUtc();
|
||||
assertAboutHosts()
|
||||
.that(renamedHost)
|
||||
.hasSuperordinateDomain(Key.create(domain))
|
||||
.hasSuperordinateDomain(domain.createVKey())
|
||||
.and()
|
||||
.hasLastSuperordinateChange(now)
|
||||
.and()
|
||||
|
@ -514,7 +514,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(foo))
|
||||
.setSuperordinateDomain(foo.createVKey())
|
||||
.setLastTransferTime(null)
|
||||
.build());
|
||||
persistResource(foo.asBuilder().setSubordinateHosts(ImmutableSet.of(oldHostName())).build());
|
||||
|
@ -551,7 +551,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setLastTransferTime(clock.nowUtc().minusDays(20))
|
||||
.setLastSuperordinateChange(clock.nowUtc().minusDays(3))
|
||||
.build());
|
||||
|
@ -586,7 +586,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(foo))
|
||||
.setSuperordinateDomain(foo.createVKey())
|
||||
.setLastTransferTime(lastTransferTime)
|
||||
.setLastSuperordinateChange(clock.nowUtc().minusDays(3))
|
||||
.build());
|
||||
|
@ -617,7 +617,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(foo))
|
||||
.setSuperordinateDomain(foo.createVKey())
|
||||
.setLastTransferTime(lastTransferTime)
|
||||
.setLastSuperordinateChange(clock.nowUtc().minusDays(10))
|
||||
.build());
|
||||
|
@ -649,7 +649,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(foo))
|
||||
.setSuperordinateDomain(foo.createVKey())
|
||||
.setLastTransferTime(null)
|
||||
.setLastSuperordinateChange(clock.nowUtc().minusDays(3))
|
||||
.build());
|
||||
|
@ -675,7 +675,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build());
|
||||
DateTime lastTransferTime = clock.nowUtc().minusDays(2);
|
||||
persistResource(
|
||||
|
@ -712,7 +712,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setLastTransferTime(lastTransferTime)
|
||||
.setLastSuperordinateChange(clock.nowUtc().minusDays(4))
|
||||
.build());
|
||||
|
@ -747,7 +747,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setLastTransferTime(clock.nowUtc().minusDays(12))
|
||||
.setLastSuperordinateChange(clock.nowUtc().minusDays(4))
|
||||
.build());
|
||||
|
@ -1017,7 +1017,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.CLIENT_UPDATE_PROHIBITED))
|
||||
.setSuperordinateDomain(Key.create(persistActiveDomain("example.tld")))
|
||||
.setSuperordinateDomain(persistActiveDomain("example.tld").createVKey())
|
||||
.build());
|
||||
EppException thrown =
|
||||
assertThrows(ResourceHasClientUpdateProhibitedException.class, this::runFlow);
|
||||
|
@ -1031,7 +1031,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.SERVER_UPDATE_PROHIBITED))
|
||||
.setSuperordinateDomain(Key.create(persistActiveDomain("example.tld")))
|
||||
.setSuperordinateDomain(persistActiveDomain("example.tld").createVKey())
|
||||
.build());
|
||||
ResourceStatusProhibitsOperationException thrown =
|
||||
assertThrows(ResourceStatusProhibitsOperationException.class, this::runFlow);
|
||||
|
@ -1045,7 +1045,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource(oldHostName())
|
||||
.asBuilder()
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.PENDING_DELETE))
|
||||
.setSuperordinateDomain(Key.create(persistActiveDomain("example.tld")))
|
||||
.setSuperordinateDomain(persistActiveDomain("example.tld").createVKey())
|
||||
.build());
|
||||
ResourceStatusProhibitsOperationException thrown =
|
||||
assertThrows(ResourceStatusProhibitsOperationException.class, this::runFlow);
|
||||
|
@ -1105,7 +1105,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("TheRegistrar") // Shouldn't hurt.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.build());
|
||||
|
||||
|
@ -1127,7 +1127,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("NewRegistrar") // Shouldn't help.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.build());
|
||||
|
||||
|
@ -1145,7 +1145,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("TheRegistrar") // Shouldn't hurt.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.build());
|
||||
|
||||
|
@ -1163,7 +1163,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
newHostResource("ns1.example.tld")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("TheRegistrar") // Shouldn't help.
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.build());
|
||||
|
||||
|
@ -1228,7 +1228,7 @@ public class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Hos
|
|||
persistResource(
|
||||
newHostResource("ns1.example.foo")
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(superordinate))
|
||||
.setSuperordinateDomain(superordinate.createVKey())
|
||||
.setPersistedCurrentSponsorClientId("NewRegistrar")
|
||||
.build());
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ public class DomainBaseTest extends EntityTestCase {
|
|||
persistResource(
|
||||
new HostResource.Builder()
|
||||
.setFullyQualifiedHostName("ns1.example.com")
|
||||
.setSuperordinateDomain(domainKey)
|
||||
.setSuperordinateDomain(VKey.createOfy(DomainBase.class, domainKey))
|
||||
.setRepoId("1-COM")
|
||||
.build())
|
||||
.createVKey();
|
||||
|
|
|
@ -81,7 +81,7 @@ public class HostResourceTest extends EntityTestCase {
|
|||
.setLastTransferTime(fakeClock.nowUtc())
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build()));
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,7 @@ public class HostResourceTest extends EntityTestCase {
|
|||
.setLastEppUpdateClientId("another registrar")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build()));
|
||||
assertThat(host.computeLastTransferTime(domain)).isNull();
|
||||
}
|
||||
|
|
|
@ -37,7 +37,6 @@ import com.google.common.collect.Range;
|
|||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.Period;
|
||||
|
@ -81,14 +80,18 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
private HostResource hostNs2CatLol;
|
||||
private HashMap<String, HostResource> hostNameToHostMap = new HashMap<>();
|
||||
|
||||
enum RequestType { NONE, NAME, NS_LDH_NAME, NS_IP }
|
||||
enum RequestType {
|
||||
NONE,
|
||||
NAME,
|
||||
NS_LDH_NAME,
|
||||
NS_IP
|
||||
}
|
||||
|
||||
private JsonObject generateActualJson(RequestType requestType, String paramValue) {
|
||||
return generateActualJson(requestType, paramValue, null);
|
||||
}
|
||||
|
||||
private JsonObject generateActualJson(
|
||||
RequestType requestType, String paramValue, String cursor) {
|
||||
private JsonObject generateActualJson(RequestType requestType, String paramValue, String cursor) {
|
||||
action.requestPath = actionPath;
|
||||
action.requestMethod = POST;
|
||||
String requestTypeParam = null;
|
||||
|
@ -179,9 +182,9 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
.setCreationClientId("foo")
|
||||
.build());
|
||||
persistResource(
|
||||
hostNs1CatLol.asBuilder().setSuperordinateDomain(Key.create(domainCatLol)).build());
|
||||
hostNs1CatLol.asBuilder().setSuperordinateDomain(domainCatLol.createVKey()).build());
|
||||
persistResource(
|
||||
hostNs2CatLol.asBuilder().setSuperordinateDomain(Key.create(domainCatLol)).build());
|
||||
hostNs2CatLol.asBuilder().setSuperordinateDomain(domainCatLol.createVKey()).build());
|
||||
|
||||
domainCatLol2 =
|
||||
persistResource(
|
||||
|
@ -220,8 +223,9 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
.build());
|
||||
// cat.example
|
||||
createTld("example");
|
||||
registrar = persistResource(
|
||||
makeRegistrar("goodregistrar", "St. John Chrysostom", Registrar.State.ACTIVE));
|
||||
registrar =
|
||||
persistResource(
|
||||
makeRegistrar("goodregistrar", "St. John Chrysostom", Registrar.State.ACTIVE));
|
||||
persistSimpleResources(makeRegistrarContacts(registrar));
|
||||
domainCatExample =
|
||||
persistResource(
|
||||
|
@ -297,8 +301,7 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
.build());
|
||||
// cat.1.test
|
||||
createTld("1.test");
|
||||
registrar =
|
||||
persistResource(makeRegistrar("multiregistrar", "1.test", Registrar.State.ACTIVE));
|
||||
registrar = persistResource(makeRegistrar("multiregistrar", "1.test", Registrar.State.ACTIVE));
|
||||
persistSimpleResources(makeRegistrarContacts(registrar));
|
||||
domainMultipart =
|
||||
persistResource(
|
||||
|
@ -395,10 +398,7 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
|
||||
private void deleteCatLol() {
|
||||
persistResource(
|
||||
domainCatLol
|
||||
.asBuilder()
|
||||
.setDeletionTime(clock.nowUtc().minusMonths(6))
|
||||
.build());
|
||||
domainCatLol.asBuilder().setDeletionTime(clock.nowUtc().minusMonths(6)).build());
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainCatLol,
|
||||
|
@ -416,8 +416,11 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
for (int i = numHosts; i >= 1; i--) {
|
||||
String hostName = String.format("ns%d.%s", i, mainDomainName);
|
||||
subordinateHostnamesBuilder.add(hostName);
|
||||
HostResource host = makeAndPersistHostResource(
|
||||
hostName, String.format("5.5.%d.%d", 5 + i / 250, i % 250), clock.nowUtc().minusYears(1));
|
||||
HostResource host =
|
||||
makeAndPersistHostResource(
|
||||
hostName,
|
||||
String.format("5.5.%d.%d", 5 + i / 250, i % 250),
|
||||
clock.nowUtc().minusYears(1));
|
||||
hostKeysBuilder.add(host.createVKey());
|
||||
}
|
||||
ImmutableSet<VKey<HostResource>> hostKeys = hostKeysBuilder.build();
|
||||
|
@ -533,8 +536,7 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
private void runNotFoundTest(
|
||||
RequestType requestType, String queryString, String errorMessage) {
|
||||
private void runNotFoundTest(RequestType requestType, String queryString, String errorMessage) {
|
||||
rememberWildcardType(queryString);
|
||||
assertThat(generateActualJson(requestType, queryString))
|
||||
.isEqualTo(generateExpectedJsonError(errorMessage, 404));
|
||||
|
@ -654,9 +656,9 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
@Test
|
||||
public void testInvalidRequest_rejected() {
|
||||
assertThat(generateActualJson(RequestType.NONE, null))
|
||||
.isEqualTo(generateExpectedJsonError(
|
||||
"You must specify either name=XXXX, nsLdhName=YYYY or nsIp=ZZZZ",
|
||||
400));
|
||||
.isEqualTo(
|
||||
generateExpectedJsonError(
|
||||
"You must specify either name=XXXX, nsLdhName=YYYY or nsIp=ZZZZ", 400));
|
||||
assertThat(response.getStatus()).isEqualTo(400);
|
||||
verifyErrorMetrics(SearchType.NONE, Optional.empty(), 400);
|
||||
}
|
||||
|
@ -1233,7 +1235,7 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
login("evilregistrar");
|
||||
runSuccessfulTestWithCatLol(RequestType.NS_LDH_NAME, "ns2.cat.l*", "rdap_domain.json");
|
||||
verifyMetrics(SearchType.BY_NAMESERVER_NAME, 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNameserverMatchWithWildcard_found_sameRegistrarRequested() {
|
||||
|
@ -1458,24 +1460,21 @@ public class RdapDomainSearchActionTest extends RdapSearchActionTestCase<RdapDom
|
|||
|
||||
@Test
|
||||
public void testNameserverMatchDeletedNameserver_notFound() {
|
||||
persistResource(
|
||||
hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
persistResource(hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
runNotFoundTest(RequestType.NS_LDH_NAME, "ns1.cat.lol", "No matching nameservers found");
|
||||
verifyErrorMetrics(SearchType.BY_NAMESERVER_NAME, Optional.empty(), Optional.of(0L), 404);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNameserverMatchDeletedNameserverWithWildcard_notFound() {
|
||||
persistResource(
|
||||
hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
persistResource(hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
runNotFoundTest(RequestType.NS_LDH_NAME, "ns1.cat.l*", "No matching nameservers found");
|
||||
verifyErrorMetrics(SearchType.BY_NAMESERVER_NAME, Optional.empty(), Optional.of(0L), 404);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNameserverMatchDeletedNameserverWithWildcardAndSuffix_notFound() {
|
||||
persistResource(
|
||||
hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
persistResource(hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
runNotFoundTest(RequestType.NS_LDH_NAME, "ns1*.cat.lol", "No matching nameservers found");
|
||||
verifyErrorMetrics(SearchType.BY_NAMESERVER_NAME, Optional.empty(), Optional.of(0L), 404);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@ import com.google.common.collect.ImmutableList;
|
|||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
|
@ -159,8 +158,7 @@ public class RdapJsonFormatterTest {
|
|||
"ns1.dog.みんな", null, null, clock.nowUtc().minusYears(6), "unicoderegistrar")
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(
|
||||
Key.create(
|
||||
persistResource(
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"dog.みんな",
|
||||
contactResourceRegistrant,
|
||||
|
@ -182,7 +180,8 @@ public class RdapJsonFormatterTest {
|
|||
.setTransferredRegistrationExpirationTime(
|
||||
DateTime.parse("2111-10-08T00:44:59Z"))
|
||||
.build())
|
||||
.build())))
|
||||
.build())
|
||||
.createVKey())
|
||||
.build());
|
||||
domainBaseFull =
|
||||
persistResource(
|
||||
|
|
|
@ -36,7 +36,6 @@ import com.google.common.collect.ImmutableSet;
|
|||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.registrar.Registrar;
|
||||
|
@ -111,10 +110,11 @@ public class RdapNameserverSearchActionTest
|
|||
persistResource(
|
||||
makeRegistrar("evilregistrar", "Yes Virginia <script>", Registrar.State.ACTIVE));
|
||||
persistSimpleResources(makeRegistrarContacts(registrar));
|
||||
hostNs1CatLol = makeAndPersistHostResource(
|
||||
"ns1.cat.lol", "1.2.3.4", clock.nowUtc().minusYears(1));
|
||||
hostNs2CatLol = makeAndPersistHostResource(
|
||||
"ns2.cat.lol", "bad:f00d:cafe::15:beef", clock.nowUtc().minusYears(1));
|
||||
hostNs1CatLol =
|
||||
makeAndPersistHostResource("ns1.cat.lol", "1.2.3.4", clock.nowUtc().minusYears(1));
|
||||
hostNs2CatLol =
|
||||
makeAndPersistHostResource(
|
||||
"ns2.cat.lol", "bad:f00d:cafe::15:beef", clock.nowUtc().minusYears(1));
|
||||
makeAndPersistHostResource(
|
||||
"ns1.cat2.lol", "1.2.3.3", "bad:f00d:cafe::15:beef", clock.nowUtc().minusYears(1));
|
||||
makeAndPersistHostResource("ns1.cat.external", null, null, clock.nowUtc().minusYears(1));
|
||||
|
@ -132,25 +132,28 @@ public class RdapNameserverSearchActionTest
|
|||
makeAndPersistHostResource("ns1.cat.1.test", "1.2.3.6", clock.nowUtc().minusYears(1));
|
||||
|
||||
// create a domain so that we can use it as a test nameserver search string suffix
|
||||
domainCatLol = persistResource(
|
||||
makeDomainBase(
|
||||
"cat.lol",
|
||||
persistResource(
|
||||
makeContactResource("5372808-ERL", "Goblin Market", "lol@cat.lol", registrar)),
|
||||
persistResource(
|
||||
makeContactResource("5372808-IRL", "Santa Claus", "BOFH@cat.lol", registrar)),
|
||||
persistResource(
|
||||
makeContactResource("5372808-TRL", "The Raven", "bog@cat.lol", registrar)),
|
||||
hostNs1CatLol,
|
||||
hostNs2CatLol,
|
||||
registrar)
|
||||
.asBuilder()
|
||||
.setSubordinateHosts(ImmutableSet.of("ns1.cat.lol", "ns2.cat.lol"))
|
||||
.build());
|
||||
domainCatLol =
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"cat.lol",
|
||||
persistResource(
|
||||
makeContactResource(
|
||||
"5372808-ERL", "Goblin Market", "lol@cat.lol", registrar)),
|
||||
persistResource(
|
||||
makeContactResource(
|
||||
"5372808-IRL", "Santa Claus", "BOFH@cat.lol", registrar)),
|
||||
persistResource(
|
||||
makeContactResource("5372808-TRL", "The Raven", "bog@cat.lol", registrar)),
|
||||
hostNs1CatLol,
|
||||
hostNs2CatLol,
|
||||
registrar)
|
||||
.asBuilder()
|
||||
.setSubordinateHosts(ImmutableSet.of("ns1.cat.lol", "ns2.cat.lol"))
|
||||
.build());
|
||||
persistResource(
|
||||
hostNs1CatLol.asBuilder().setSuperordinateDomain(Key.create(domainCatLol)).build());
|
||||
hostNs1CatLol.asBuilder().setSuperordinateDomain(domainCatLol.createVKey()).build());
|
||||
persistResource(
|
||||
hostNs2CatLol.asBuilder().setSuperordinateDomain(Key.create(domainCatLol)).build());
|
||||
hostNs2CatLol.asBuilder().setSuperordinateDomain(domainCatLol.createVKey()).build());
|
||||
|
||||
action.ipParam = Optional.empty();
|
||||
action.nameParam = Optional.empty();
|
||||
|
@ -187,10 +190,9 @@ public class RdapNameserverSearchActionTest
|
|||
hostsBuilder.add(makeHostResource(hostName, "5.5.5.1", "5.5.5.2"));
|
||||
}
|
||||
persistResources(hostsBuilder.build());
|
||||
domainCatLol = persistResource(
|
||||
domainCatLol.asBuilder()
|
||||
.setSubordinateHosts(subordinateHostsBuilder.build())
|
||||
.build());
|
||||
domainCatLol =
|
||||
persistResource(
|
||||
domainCatLol.asBuilder().setSubordinateHosts(subordinateHostsBuilder.build()).build());
|
||||
}
|
||||
|
||||
private void createDeletedHost() {
|
||||
|
@ -245,10 +247,7 @@ public class RdapNameserverSearchActionTest
|
|||
public void testInvalidRequest_rejected() {
|
||||
action.run();
|
||||
assertThat(parseJsonObject(response.getPayload()))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonError(
|
||||
"You must specify either name=XXXX or ip=YYYY",
|
||||
400));
|
||||
.isEqualTo(generateExpectedJsonError("You must specify either name=XXXX or ip=YYYY", 400));
|
||||
assertThat(response.getStatus()).isEqualTo(400);
|
||||
verifyErrorMetrics(Optional.empty(), 400);
|
||||
}
|
||||
|
@ -294,8 +293,7 @@ public class RdapNameserverSearchActionTest
|
|||
public void testNoCharactersToMatch_rejected() {
|
||||
assertThat(generateActualJsonWithName("*"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonError(
|
||||
"Initial search string must be at least 2 characters", 422));
|
||||
generateExpectedJsonError("Initial search string must be at least 2 characters", 422));
|
||||
assertThat(response.getStatus()).isEqualTo(422);
|
||||
verifyErrorMetrics(Optional.empty(), 422);
|
||||
}
|
||||
|
@ -304,8 +302,7 @@ public class RdapNameserverSearchActionTest
|
|||
public void testFewerThanTwoCharactersToMatch_rejected() {
|
||||
assertThat(generateActualJsonWithName("a*"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonError(
|
||||
"Initial search string must be at least 2 characters", 422));
|
||||
generateExpectedJsonError("Initial search string must be at least 2 characters", 422));
|
||||
assertThat(response.getStatus()).isEqualTo(422);
|
||||
verifyErrorMetrics(Optional.empty(), 422);
|
||||
}
|
||||
|
@ -349,7 +346,8 @@ public class RdapNameserverSearchActionTest
|
|||
@Test
|
||||
public void testNameMatch_ns2_cat_lol_found() {
|
||||
assertThat(generateActualJsonWithName("ns2.cat.lol"))
|
||||
.isEqualTo(generateExpectedJsonForNameserver(
|
||||
.isEqualTo(
|
||||
generateExpectedJsonForNameserver(
|
||||
"ns2.cat.lol",
|
||||
null,
|
||||
"4-ROID",
|
||||
|
@ -505,7 +503,7 @@ public class RdapNameserverSearchActionTest
|
|||
public void testNameMatch_nontruncatedResultSet() {
|
||||
createManyHosts(4);
|
||||
assertThat(generateActualJsonWithName("nsx*.cat.lol"))
|
||||
.isEqualTo(loadJsonFile("rdap_nontruncated_hosts.json"));
|
||||
.isEqualTo(loadJsonFile("rdap_nontruncated_hosts.json"));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
verifyMetrics(4);
|
||||
}
|
||||
|
@ -535,8 +533,7 @@ public class RdapNameserverSearchActionTest
|
|||
|
||||
@Test
|
||||
public void testNameMatchDeletedHost_foundTheOtherHost() {
|
||||
persistResource(
|
||||
hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
persistResource(hostNs1CatLol.asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
assertThat(generateActualJsonWithName("ns*.cat.lol"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonForNameserver(
|
||||
|
@ -648,8 +645,7 @@ public class RdapNameserverSearchActionTest
|
|||
* @param expectedNames an immutable list of the host names we expect to retrieve
|
||||
*/
|
||||
private void checkCursorNavigation(
|
||||
boolean byName, String paramValue, ImmutableList<String> expectedNames)
|
||||
throws Exception {
|
||||
boolean byName, String paramValue, ImmutableList<String> expectedNames) throws Exception {
|
||||
String cursor = null;
|
||||
int expectedNameOffset = 0;
|
||||
int expectedPageCount =
|
||||
|
@ -792,9 +788,9 @@ public class RdapNameserverSearchActionTest
|
|||
public void testAddressMatch_truncatedResultSet() {
|
||||
createManyHosts(5);
|
||||
assertThat(generateActualJsonWithIp("5.5.5.1"))
|
||||
.isEqualTo(
|
||||
loadJsonFile(
|
||||
"rdap_truncated_hosts.json", "QUERY", "ip=5.5.5.1&cursor=MTctUk9JRA%3D%3D"));
|
||||
.isEqualTo(
|
||||
loadJsonFile(
|
||||
"rdap_truncated_hosts.json", "QUERY", "ip=5.5.5.1&cursor=MTctUk9JRA%3D%3D"));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
verifyMetrics(5, IncompletenessWarningType.TRUNCATED);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ import static org.junit.Assert.assertThrows;
|
|||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.net.InetAddresses;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.host.HostResource;
|
||||
|
@ -43,8 +42,8 @@ import org.junit.runners.JUnit4;
|
|||
/**
|
||||
* Unit tests for {@link HostResourceToXjcConverter}.
|
||||
*
|
||||
* <p>This tests the mapping between {@link HostResource} and {@link XjcRdeHost} as well as
|
||||
* some exceptional conditions.
|
||||
* <p>This tests the mapping between {@link HostResource} and {@link XjcRdeHost} as well as some
|
||||
* exceptional conditions.
|
||||
*/
|
||||
@RunWith(JUnit4.class)
|
||||
public class HostResourceToXjcConverterTest {
|
||||
|
@ -59,26 +58,29 @@ public class HostResourceToXjcConverterTest {
|
|||
|
||||
@Test
|
||||
public void testConvertSubordinateHost() {
|
||||
DomainBase domain = newDomainBase("love.foobar").asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("LeisureDog")
|
||||
.setLastTransferTime(DateTime.parse("2010-01-01T00:00:00Z"))
|
||||
.addStatusValue(StatusValue.PENDING_TRANSFER)
|
||||
.build();
|
||||
XjcRdeHost bean = HostResourceToXjcConverter.convertSubordinateHost(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.foobar")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-roid")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.setSuperordinateDomain(Key.create(domain))
|
||||
.build(),
|
||||
domain);
|
||||
DomainBase domain =
|
||||
newDomainBase("love.foobar")
|
||||
.asBuilder()
|
||||
.setPersistedCurrentSponsorClientId("LeisureDog")
|
||||
.setLastTransferTime(DateTime.parse("2010-01-01T00:00:00Z"))
|
||||
.addStatusValue(StatusValue.PENDING_TRANSFER)
|
||||
.build();
|
||||
XjcRdeHost bean =
|
||||
HostResourceToXjcConverter.convertSubordinateHost(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.foobar")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-roid")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.setSuperordinateDomain(domain.createVKey())
|
||||
.build(),
|
||||
domain);
|
||||
|
||||
assertThat(bean.getAddrs()).hasSize(1);
|
||||
assertThat(bean.getAddrs().get(0).getIp().value()).isEqualTo("v4");
|
||||
|
@ -119,19 +121,20 @@ public class HostResourceToXjcConverterTest {
|
|||
|
||||
@Test
|
||||
public void testConvertExternalHost() {
|
||||
XjcRdeHost bean = HostResourceToXjcConverter.convertExternalHost(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.lol")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-roid")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.build());
|
||||
XjcRdeHost bean =
|
||||
HostResourceToXjcConverter.convertExternalHost(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.lol")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("127.0.0.1")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-roid")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.build());
|
||||
|
||||
assertThat(bean.getAddrs()).hasSize(1);
|
||||
assertThat(bean.getAddrs().get(0).getIp().value()).isEqualTo("v4");
|
||||
|
@ -167,19 +170,20 @@ public class HostResourceToXjcConverterTest {
|
|||
|
||||
@Test
|
||||
public void testConvertExternalHost_ipv6() {
|
||||
XjcRdeHost bean = HostResourceToXjcConverter.convertExternalHost(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.lol")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-LOL")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.build());
|
||||
XjcRdeHost bean =
|
||||
HostResourceToXjcConverter.convertExternalHost(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.lol")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-LOL")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.build());
|
||||
assertThat(bean.getAddrs()).hasSize(1);
|
||||
assertThat(bean.getAddrs().get(0).getIp().value()).isEqualTo("v6");
|
||||
assertThat(bean.getAddrs().get(0).getValue()).isEqualTo("cafe::abba");
|
||||
|
@ -208,19 +212,20 @@ public class HostResourceToXjcConverterTest {
|
|||
@Test
|
||||
public void testMarshal() throws Exception {
|
||||
// Bean! Bean! Bean!
|
||||
XjcRdeHostElement bean = HostResourceToXjcConverter.convertExternal(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.lol")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-LOL")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.build());
|
||||
XjcRdeHostElement bean =
|
||||
HostResourceToXjcConverter.convertExternal(
|
||||
new HostResource.Builder()
|
||||
.setCreationClientId("LawyerCat")
|
||||
.setCreationTimeForTest(DateTime.parse("1900-01-01T00:00:00Z"))
|
||||
.setPersistedCurrentSponsorClientId("BusinessCat")
|
||||
.setFullyQualifiedHostName("ns1.love.lol")
|
||||
.setInetAddresses(ImmutableSet.of(InetAddresses.forString("cafe::abba")))
|
||||
.setLastTransferTime(DateTime.parse("1910-01-01T00:00:00Z"))
|
||||
.setLastEppUpdateClientId("CeilingCat")
|
||||
.setLastEppUpdateTime(DateTime.parse("1920-01-01T00:00:00Z"))
|
||||
.setRepoId("2-LOL")
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.OK))
|
||||
.build());
|
||||
marshalStrict(bean, new ByteArrayOutputStream(), UTF_8);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -185,7 +185,7 @@ abstract class AbstractEppResourceSubject<
|
|||
return andChainer();
|
||||
}
|
||||
|
||||
protected <E> And<S> hasValue(E expected, E actual, String name) {
|
||||
protected <E> And<S> hasValue(@Nullable E expected, @Nullable E actual, String name) {
|
||||
check(name).that(actual).isEqualTo(expected);
|
||||
return andChainer();
|
||||
}
|
||||
|
|
|
@ -239,7 +239,7 @@ public class DatastoreHelper {
|
|||
return persistResource(
|
||||
newHostResource(hostName)
|
||||
.asBuilder()
|
||||
.setSuperordinateDomain(Key.create(superordinateDomain))
|
||||
.setSuperordinateDomain(superordinateDomain.createVKey())
|
||||
.setInetAddresses(
|
||||
ImmutableSet.of(InetAddresses.forString("1080:0:0:0:8:800:200C:417A")))
|
||||
.build());
|
||||
|
|
|
@ -19,10 +19,11 @@ import static com.google.common.truth.Truth.assertAbout;
|
|||
|
||||
import com.google.common.truth.FailureMetadata;
|
||||
import com.google.common.truth.SimpleSubjectBuilder;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.testing.TruthChainer.And;
|
||||
import javax.annotation.Nullable;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/** Truth subject for asserting things about {@link HostResource} instances. */
|
||||
|
@ -55,7 +56,8 @@ public final class HostResourceSubject
|
|||
"has lastSuperordinateChange");
|
||||
}
|
||||
|
||||
public And<HostResourceSubject> hasSuperordinateDomain(Key<DomainBase> superordinateDomain) {
|
||||
public And<HostResourceSubject> hasSuperordinateDomain(
|
||||
@Nullable VKey<DomainBase> superordinateDomain) {
|
||||
return hasValue(
|
||||
superordinateDomain, actual.getSuperordinateDomain(), "has superordinateDomain");
|
||||
}
|
||||
|
|
|
@ -288,9 +288,9 @@ class google.registry.model.eppcommon.Trid {
|
|||
class google.registry.model.host.HostResource {
|
||||
@Id java.lang.String repoId;
|
||||
com.google.common.collect.ImmutableSortedMap<org.joda.time.DateTime, com.googlecode.objectify.Key<google.registry.model.ofy.CommitLogManifest>> revisions;
|
||||
com.googlecode.objectify.Key<google.registry.model.domain.DomainBase> superordinateDomain;
|
||||
google.registry.model.CreateAutoTimestamp creationTime;
|
||||
google.registry.model.UpdateAutoTimestamp updateTimestamp;
|
||||
google.registry.persistence.VKey<google.registry.model.domain.DomainBase> superordinateDomain;
|
||||
java.lang.String creationClientId;
|
||||
java.lang.String currentSponsorClientId;
|
||||
java.lang.String fullyQualifiedHostName;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue