### Question:
IdentityProviderConfig implements EntityIdentifiable { @JsonProperty("authenticationEnabled") public Boolean isAuthenticationEnabled() { if (Strings.isNullOrEmpty(provideAuthenticationUntil)) { return true; } DateTime provideAuthenticationUntilDate = DateTime.parse(provideAuthenticationUntil, DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZZ")); return provideAuthenticationUntilDate.isAfterNow(); } @SuppressWarnings("unused") // needed to prevent guice injection protected  IdentityProviderConfig(); @Override String getEntityId(); @Override String toString(); List<LevelOfAssurance> getSupportedLevelsOfAssurance(); boolean supportsLoa(LevelOfAssurance levelOfAssurance); String getSimpleId(); Boolean isEnabled(); @JsonProperty("temporarilyUnavailable") Boolean isTemporarilyUnavailable(); Boolean canReceiveRegistrationRequests(); Boolean canSendRegistrationResponses(Duration sessionDuration); @JsonProperty("authenticationEnabled") Boolean isAuthenticationEnabled(); Boolean isEnabledForSingleIdp(); String getProvideRegistrationUntil(); List<String> getOnboardingTransactionEntityIds(); boolean isOnboardingForTransactionEntityAtLoa(String transactionEntity, LevelOfAssurance levelOfAssurance); boolean isOnboardingAtAllLevels(); boolean isOnboardingAtLoa(LevelOfAssurance levelOfAssurance); Boolean getUseExactComparisonType();  }### Answer:
@Test public void shouldReturnTrueForAuthenticationEnabled_whenProvideAuthenticationUntilHasNotBeenSpecified() { IdentityProviderConfig data = dataBuilder.build(); data.provideAuthenticationUntil = ""; assertThat(data.isAuthenticationEnabled()).isEqualTo(true); }
@Test public void shouldReturnTrueForAuthenticationEnabled_whenProvideAuthenticationUntilDateHasNotExpired() { IdentityProviderConfig data = dataBuilder .withProvideAuthenticationUntil(futureDatetime) .build(); assertThat(data.isAuthenticationEnabled()).isEqualTo(true); }
@Test public void shouldReturnFalseForAuthenticationEnabled_whenProvideAuthenticationUntilDateHasExpired() { IdentityProviderConfig data = dataBuilder .withProvideAuthenticationUntil(expiredDatetime) .build(); assertThat(data.isAuthenticationEnabled()).isEqualTo(false); }
@Test(expected = java.lang.IllegalArgumentException.class) public void shouldThrowInvalidFormatException_whenProvideAuthenticationUntilHasBeenSpecifiedButIsInvalid() { IdentityProviderConfig data = dataBuilder.build(); data.provideAuthenticationUntil = "2020-09-09"; data.isAuthenticationEnabled(); }