package de.asideas.crowdsource.util.validation.email; import de.asideas.crowdsource.testutil.ValidatorTestUtil; import org.junit.Before; import org.junit.Test; import org.mockito.internal.util.reflection.Whitebox; import java.util.Arrays; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; public class EligibleEmailValidatorTest { private EligibleEmailValidator eligibleEmailValidator; @Before public void beforeMethod() throws Exception { eligibleEmailValidator = spy(new EligibleEmailValidator()); Whitebox.setInternalState(eligibleEmailValidator, "emailBlacklistPatterns", Arrays.asList("_extern")); doReturn("@crowd.source.de").when(eligibleEmailValidator).getEligibleEmailDomain(); } @Test public void testIsValidValidEmail() throws Exception { assertTrue(eligibleEmailValidator.isValid("test@crowd.source.de", ValidatorTestUtil.constraintValidatorContext())); } @Test public void testIsValidNonSpringerEmail() throws Exception { assertFalse(eligibleEmailValidator.isValid("test@someHost.de", ValidatorTestUtil.constraintValidatorContext())); } @Test public void testIsValidConsultantEmail() throws Exception { assertFalse(eligibleEmailValidator.isValid("test_extern@crowd.source.de", ValidatorTestUtil.constraintValidatorContext())); } }