package org.cloudfoundry.identity.uaa.zone;
import org.junit.Test;
import java.util.Arrays;
import static org.cloudfoundry.identity.uaa.zone.IdentityZoneValidator.Mode.CREATE;
import static org.cloudfoundry.identity.uaa.zone.IdentityZoneValidator.Mode.DELETE;
import static org.cloudfoundry.identity.uaa.zone.IdentityZoneValidator.Mode.MODIFY;
import static org.mockito.Mockito.*;
public class GeneralIdentityZoneValidatorTests {
GeneralIdentityZoneConfigurationValidator zoneConfigurationValidator = mock(GeneralIdentityZoneConfigurationValidator.class);
GeneralIdentityZoneValidator validator = new GeneralIdentityZoneValidator(zoneConfigurationValidator);
@Test
public void validate_right_mode() throws InvalidIdentityZoneDetailsException, InvalidIdentityZoneConfigurationException {
IdentityZone zone = MultitenancyFixture.identityZone("id", "domain");
IdentityZoneConfiguration config = new IdentityZoneConfiguration();
zone.setConfig(config);
for (IdentityZoneValidator.Mode mode : Arrays.asList(CREATE, MODIFY, DELETE)) {
reset(zoneConfigurationValidator);
when(zoneConfigurationValidator.validate(any(), any())).thenReturn(config);
validator.validate(zone, mode);
verify(zoneConfigurationValidator, times(1)).validate(same(config), same(mode));
}
}
}