mirror of
https://github.com/google/nomulus.git
synced 2025-08-06 01:35:17 +02:00
Clean up test "load resources" methods and classes
There is a big mix of different "load Resources" from different libraries depending on where you were and what type of resource you want. Now there is a clear hirarchy: ResourceUtils: for use in actual (non-test) code, reads a file from a context directory TestDataHelper (uses ResourceUtils): for use in tests, reads a file from a context directory + "/testdata". Also caches the resource so calling it multiple times with the same file will not read the file multiple times. Library specific helpers (e.g. ToolsTestData) (uses TestDataHelper): for use in that library's tests only, reads from a specific testdata directory. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177027533
This commit is contained in:
parent
bbe2584da4
commit
95647528b8
12 changed files with 66 additions and 75 deletions
|
@ -20,7 +20,6 @@ import static google.registry.testing.DatastoreHelper.newDomainResource;
|
|||
import static google.registry.testing.DatastoreHelper.persistActiveDomain;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
import static google.registry.testing.JUnitBackports.expectThrows;
|
||||
import static google.registry.testing.TestDataHelper.applySubstitutions;
|
||||
import static google.registry.tools.LockOrUnlockDomainCommand.REGISTRY_LOCK_STATUSES;
|
||||
import static google.registry.tools.server.ToolsTestData.loadUtf8;
|
||||
|
||||
|
@ -68,14 +67,13 @@ public class LockDomainCommandTest extends EppToolCommandTestCase<LockDomainComm
|
|||
List<String> params = new ArrayList<>();
|
||||
List<String> expectedXmls = new ArrayList<>();
|
||||
params.add("--client=NewRegistrar");
|
||||
String updateDomainXml = loadUtf8("domain_lock.xml");
|
||||
// Create 26 domains -- one more than the number of entity groups allowed in a transaction (in
|
||||
// case that was going to be the failure point).
|
||||
for (int n = 0; n < 26; n++) {
|
||||
String domain = String.format("domain%d.tld", n);
|
||||
persistActiveDomain(domain);
|
||||
params.add(domain);
|
||||
expectedXmls.add(applySubstitutions(updateDomainXml, ImmutableMap.of("DOMAIN", domain)));
|
||||
expectedXmls.add(loadUtf8("domain_lock.xml", ImmutableMap.of("DOMAIN", domain)));
|
||||
}
|
||||
runCommandForced(params);
|
||||
eppVerifier().verifySentContents(expectedXmls);
|
||||
|
|
|
@ -22,7 +22,6 @@ import static google.registry.testing.DatastoreHelper.newDomainResource;
|
|||
import static google.registry.testing.DatastoreHelper.persistActiveDomain;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
import static google.registry.testing.JUnitBackports.expectThrows;
|
||||
import static google.registry.testing.TestDataHelper.applySubstitutions;
|
||||
import static google.registry.tools.server.ToolsTestData.loadUtf8;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
@ -80,14 +79,13 @@ public class UnlockDomainCommandTest extends EppToolCommandTestCase<UnlockDomain
|
|||
List<String> params = new ArrayList<>();
|
||||
List<String> expectedXmls = new ArrayList<>();
|
||||
params.add("--client=NewRegistrar");
|
||||
String updateDomainXml = loadUtf8("domain_unlock.xml");
|
||||
// Create 26 domains -- one more than the number of entity groups allowed in a transaction (in
|
||||
// case that was going to be the failure point).
|
||||
for (int n = 0; n < 26; n++) {
|
||||
String domain = String.format("domain%d.tld", n);
|
||||
persistLockedDomain(domain);
|
||||
params.add(domain);
|
||||
expectedXmls.add(applySubstitutions(updateDomainXml, ImmutableMap.of("DOMAIN", domain)));
|
||||
expectedXmls.add(loadUtf8("domain_unlock.xml", ImmutableMap.of("DOMAIN", domain)));
|
||||
}
|
||||
runCommandForced(params);
|
||||
eppVerifier().verifySentContents(expectedXmls);
|
||||
|
|
|
@ -14,11 +14,8 @@
|
|||
|
||||
package google.registry.tools.server;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.io.ByteSource;
|
||||
import com.google.common.io.Resources;
|
||||
import google.registry.testing.TestDataHelper;
|
||||
import java.net.URL;
|
||||
import java.util.Map;
|
||||
|
||||
/** Utility class providing easy access to contents of the {@code testdata/} directory. */
|
||||
|
@ -26,14 +23,14 @@ public final class ToolsTestData {
|
|||
|
||||
/** Returns {@link ByteSource} for file in {@code tools/server/testdata/} directory. */
|
||||
public static ByteSource get(String filename) {
|
||||
return Resources.asByteSource(getUrl(filename));
|
||||
return TestDataHelper.loadBytes(ToolsTestData.class, filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads data from file in {@code tools/server/testdata/} as a UTF-8 String.
|
||||
*/
|
||||
public static String loadUtf8(String filename) {
|
||||
return loadUtf8(filename, ImmutableMap.of());
|
||||
return TestDataHelper.loadFile(ToolsTestData.class, filename);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -42,8 +39,4 @@ public final class ToolsTestData {
|
|||
public static String loadUtf8(String filename, Map<String, String> substitutions) {
|
||||
return TestDataHelper.loadFileWithSubstitutions(ToolsTestData.class, filename, substitutions);
|
||||
}
|
||||
|
||||
private static URL getUrl(String filename) {
|
||||
return Resources.getResource(ToolsTestData.class, "testdata/" + filename);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue