Replace FailureStrategy with FailureMetadata in gtld's Subjects

Also changed truth.SubjectFactory to truth.Subject.Factory (plain renaming) and use method reference instead of anonymous class to create the factory when applicable.

FailureMetadata, an opaque object to its users, is introduced to replace FailureStrategy in in custom Subject in order to resolve some existing flaws of FailureStrategy as well as enable new features to be added to Truth.

New API is available in Truth-0.36, if there is a build/pom.xml, it's also updated to use this version.

More information: See []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=176110788
This commit is contained in:
jianglai 2017-11-17 08:18:43 -08:00
parent 6083ef9ba0
commit 9ab68613a0
12 changed files with 44 additions and 127 deletions

View file

@ -17,7 +17,7 @@ package google.registry.testing;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.truth.Truth.assertAbout;
import com.google.common.truth.FailureStrategy;
import com.google.common.truth.FailureMetadata;
import com.google.common.truth.SimpleSubjectBuilder;
import com.googlecode.objectify.Key;
import google.registry.model.domain.DomainResource;
@ -29,16 +29,12 @@ import org.joda.time.DateTime;
public final class HostResourceSubject
extends AbstractEppResourceSubject<HostResource, HostResourceSubject> {
/** A factory for instances of this subject. */
private static class SubjectFactory
extends ReflectiveSubjectFactory<HostResource, HostResourceSubject>{}
public HostResourceSubject(FailureStrategy strategy, HostResource subject) {
super(strategy, checkNotNull(subject));
public HostResourceSubject(FailureMetadata failureMetadata, HostResource subject) {
super(failureMetadata, checkNotNull(subject));
}
public static SimpleSubjectBuilder<HostResourceSubject, HostResource> assertAboutHosts() {
return assertAbout(new SubjectFactory());
return assertAbout(HostResourceSubject::new);
}
public And<HostResourceSubject> hasLastTransferTime(DateTime lastTransferTime) {