Add a new method to load all Registry entities of a given type (#373)

* Add a new method to load all Registry entities of a given type

This is useful for things that need to know more than just the TLD strings
themselves, which is all Registries currently provides.
This commit is contained in:
Ben McIlwain 2019-11-18 17:40:42 -05:00 committed by GitHub
parent 9e0368b77c
commit 8a06ef09c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 0 deletions

View file

@ -17,9 +17,12 @@ package google.registry.model.registry;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth8.assertThat;
import static google.registry.testing.DatastoreHelper.createTlds;
import static google.registry.testing.DatastoreHelper.newRegistry;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.JUnitBackports.assertThrows;
import com.google.common.net.InternetDomainName;
import google.registry.model.registry.Registry.TldType;
import google.registry.testing.AppEngineRule;
import org.junit.Rule;
import org.junit.Test;
@ -32,6 +35,7 @@ public class RegistriesTest {
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
private void initTestTlds() {
createTlds("foo", "a.b.c"); // Test a multipart tld.
}
@ -42,6 +46,16 @@ public class RegistriesTest {
assertThat(Registries.getTlds()).containsExactly("foo", "a.b.c");
}
@Test
public void test_getTldEntities() {
initTestTlds();
persistResource(newRegistry("testtld", "TESTTLD").asBuilder().setTldType(TldType.TEST).build());
assertThat(Registries.getTldEntitiesOfType(TldType.REAL))
.containsExactly(Registry.get("foo"), Registry.get("a.b.c"));
assertThat(Registries.getTldEntitiesOfType(TldType.TEST))
.containsExactly(Registry.get("testtld"));
}
@Test
public void testGetTlds_withNoRegistriesPersisted_returnsEmptySet() {
assertThat(Registries.getTlds()).isEmpty();