Delete the AbstractDomainBaseSubject

It only had one subclass and it unnecessarily complicates things. It originally existed because DomainBase was abstract and could have multiple implementations but that is no longer the case.

This will also help with []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=248529389
This commit is contained in:
gbrodman 2019-05-16 08:14:35 -07:00 committed by jianglai
parent 8f9f384406
commit 6ce74ff61b
2 changed files with 45 additions and 77 deletions

View file

@ -18,16 +18,60 @@ import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.truth.Fact.simpleFact;
import static com.google.common.truth.Truth.assertAbout;
import com.google.common.collect.ImmutableSet;
import com.google.common.truth.FailureMetadata;
import com.google.common.truth.SimpleSubjectBuilder;
import google.registry.model.domain.DomainBase;
import google.registry.model.domain.launch.LaunchNotice;
import google.registry.model.domain.secdns.DelegationSignerData;
import google.registry.model.eppcommon.AuthInfo;
import google.registry.testing.TruthChainer.And;
import java.util.Objects;
import java.util.Set;
import org.joda.time.DateTime;
/** Truth subject for asserting things about {@link DomainBase} instances. */
public final class DomainBaseSubject
extends AbstractDomainBaseSubject<DomainBase, DomainBaseSubject> {
extends AbstractEppResourceSubject<DomainBase, DomainBaseSubject> {
private final DomainBase actual;
public DomainBaseSubject(FailureMetadata failureMetadata, DomainBase subject) {
super(failureMetadata, checkNotNull(subject));
this.actual = subject;
}
public And<DomainBaseSubject> hasFullyQualifiedDomainName(String fullyQualifiedDomainName) {
return hasValue(
fullyQualifiedDomainName,
actual.getFullyQualifiedDomainName(),
"has fullyQualifiedDomainName");
}
public And<DomainBaseSubject> hasExactlyDsData(DelegationSignerData... dsData) {
return hasExactlyDsData(ImmutableSet.copyOf(dsData));
}
public And<DomainBaseSubject> hasExactlyDsData(Set<DelegationSignerData> dsData) {
return hasValue(dsData, actual.getDsData(), "has dsData");
}
public And<DomainBaseSubject> hasNumDsData(int num) {
return hasValue(num, actual.getDsData().size(), "has num dsData");
}
public And<DomainBaseSubject> hasLaunchNotice(LaunchNotice launchNotice) {
return hasValue(launchNotice, actual.getLaunchNotice(), "has launchNotice");
}
public And<DomainBaseSubject> hasAuthInfoPwd(String pw) {
AuthInfo authInfo = actual.getAuthInfo();
return hasValue(pw, authInfo == null ? null : authInfo.getPw().getValue(), "has auth info pw");
}
public And<DomainBaseSubject> hasCurrentSponsorClientId(String clientId) {
return hasValue(clientId, actual.getCurrentSponsorClientId(), "has currentSponsorClientId");
}
public And<DomainBaseSubject> hasRegistrationExpirationTime(DateTime expiration) {
if (!Objects.equals(actual.getRegistrationExpirationTime(), expiration)) {
@ -63,13 +107,6 @@ public final class DomainBaseSubject
return hasValue(smdId, actual.getSmdId(), "has smdId");
}
private final DomainBase actual;
public DomainBaseSubject(FailureMetadata failureMetadata, DomainBase subject) {
super(failureMetadata, checkNotNull(subject));
this.actual = subject;
}
public static SimpleSubjectBuilder<DomainBaseSubject, DomainBase> assertAboutDomains() {
return assertAbout(DomainBaseSubject::new);
}