Skip to content

Commit

Permalink
Fix JdbcScimUserProvisioningTests
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianhoelzl-sap committed Feb 22, 2024
1 parent 408158b commit 37c160a
Showing 1 changed file with 23 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
import org.cloudfoundry.identity.uaa.scim.exception.ScimResourceNotFoundException;
import org.cloudfoundry.identity.uaa.user.UaaAuthority;
import org.cloudfoundry.identity.uaa.zone.IdentityZone;
import org.cloudfoundry.identity.uaa.zone.IdentityZoneConfiguration;
import org.cloudfoundry.identity.uaa.zone.JdbcIdentityZoneProvisioning;
import org.cloudfoundry.identity.uaa.zone.UserConfig;
import org.cloudfoundry.identity.uaa.zone.beans.IdentityZoneManager;
import org.cloudfoundry.identity.uaa.zone.beans.IdentityZoneManagerImpl;
import org.junit.jupiter.api.AfterEach;
Expand All @@ -35,6 +38,7 @@
import org.springframework.security.core.Authentication;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.oauth2.common.util.RandomValueStringGenerator;
import org.springframework.test.util.ReflectionTestUtils;

import java.sql.Timestamp;
import java.util.ArrayList;
Expand Down Expand Up @@ -80,6 +84,7 @@ class JdbcScimUserProvisioningTests {
private String joeId;
private String currentIdentityZoneId;
private IdentityZoneManager idzManager;
private final JdbcIdentityZoneProvisioning jdbcIdentityZoneProvisioning = mock(JdbcIdentityZoneProvisioning.class);

@Autowired
private PasswordEncoder passwordEncoder;
Expand All @@ -105,6 +110,8 @@ void setUp(@Autowired LimitSqlAdapter limitSqlAdapter) {

jdbcScimUserProvisioning = new JdbcScimUserProvisioning(jdbcTemplate, pagingListFactory, passwordEncoder, idzManager);

ReflectionTestUtils.setField(jdbcScimUserProvisioning, "jdbcIdentityZoneProvisioning", jdbcIdentityZoneProvisioning);

SimpleSearchQueryConverter filterConverter = new SimpleSearchQueryConverter();
Map<String, String> replaceWith = new HashMap<>();
replaceWith.put("emails\\.value", "email");
Expand Down Expand Up @@ -325,6 +332,22 @@ class WithAliasProperties {
private static final String PASSWORD = "some-password";
private static final String ENCODED_PASSWORD = "{noop}" + PASSWORD;

@BeforeEach
void setUp() {
// arrange user config exists for custom zone
arrangeUserConfigExistsForZone(UAA);
arrangeUserConfigExistsForZone(CUSTOM_ZONE_ID);
}

private void arrangeUserConfigExistsForZone(final String zoneId) {
final IdentityZone zone = mock(IdentityZone.class);
when(jdbcIdentityZoneProvisioning.retrieve(zoneId)).thenReturn(zone);
final IdentityZoneConfiguration zoneConfig = mock(IdentityZoneConfiguration.class);
when(zone.getConfig()).thenReturn(zoneConfig);
final UserConfig userConfig = mock(UserConfig.class);
when(zoneConfig.getUserConfig()).thenReturn(userConfig);
}

@ParameterizedTest
@MethodSource("fromUaaToCustomZoneAndViceVersa")
void testCreateUser_ShouldPersistAliasProperties(final String zone1, final String zone2) {
Expand Down

0 comments on commit 37c160a

Please sign in to comment.