Skip to content

Commit

Permalink
Rework: inject transaction template instead of creating it in the con…
Browse files Browse the repository at this point in the history
…structor of ScimUserEndpoints
  • Loading branch information
adrianhoelzl-sap committed Jun 7, 2024
1 parent ced0186 commit b94a96d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.util.Assert;
Expand Down Expand Up @@ -165,7 +164,7 @@ public ScimUserEndpoints(
final ApprovalStore approvalStore,
final ScimGroupMembershipManager membershipManager,
final ScimUserAliasHandler aliasHandler,
final @Qualifier("transactionManager") PlatformTransactionManager transactionManager,
final TransactionTemplate transactionTemplate,
final @Qualifier("aliasEntitiesEnabled") boolean aliasEntitiesEnabled,
final @Value("${userMaxCount:500}") int userMaxCount
) {
Expand All @@ -191,7 +190,7 @@ public ScimUserEndpoints(
new ExceptionReportHttpMessageConverter()
};
this.aliasHandler = aliasHandler;
this.transactionTemplate = new TransactionTemplate(transactionManager);
this.transactionTemplate = transactionTemplate;
scimUpdates = new AtomicInteger();
scimDeletes = new AtomicInteger();
errorCounts = new ConcurrentHashMap<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
Expand Down Expand Up @@ -47,7 +48,9 @@
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;

@ExtendWith(MockitoExtension.class)
class ScimUserEndpointsAliasTests {
Expand All @@ -74,7 +77,7 @@ class ScimUserEndpointsAliasTests {
@Mock
private ScimUserAliasHandler scimUserAliasHandler;
@Mock
private PlatformTransactionManager platformTransactionManager;
private TransactionTemplate transactionTemplate;
@Mock
private ApplicationEventPublisher applicationEventPublisher;

Expand All @@ -96,7 +99,7 @@ void setUp() {
approvalStore,
scimGroupMembershipManager,
scimUserAliasHandler,
platformTransactionManager,
transactionTemplate,
true, // alias entities are enabled
500
);
Expand All @@ -117,6 +120,11 @@ void setUp() {
scimUser.setZoneId(idzId);
return scimUser;
});

lenient().when(transactionTemplate.execute(any())).then(invocationOnMock -> {
final TransactionCallback<?> callback = invocationOnMock.getArgument(0);
return callback.doInTransaction(mock(TransactionStatus.class));
});
}

private void arrangeCurrentIdz(final String idzId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
import org.cloudfoundry.identity.uaa.oauth.common.util.RandomValueStringGenerator;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.web.servlet.View;

import com.unboundid.scim.sdk.AttributePath;
Expand Down Expand Up @@ -146,8 +146,7 @@ class ScimUserEndpointsTests {
private ScimUserAliasHandler scimUserAliasHandler;

@Autowired
@Qualifier("transactionManager")
private PlatformTransactionManager platformTransactionManager;
private TransactionTemplate transactionTemplate;

@Autowired
@Qualifier("identityZoneProvisioning")
Expand Down Expand Up @@ -230,7 +229,7 @@ void setUpAfterSeeding(final IdentityZone identityZone) {
mockApprovalStore,
spiedScimGroupMembershipManager,
scimUserAliasHandler,
platformTransactionManager,
transactionTemplate,
false,
5
);
Expand Down

0 comments on commit b94a96d

Please sign in to comment.