Skip to content

Commit

Permalink
Merge pull request #68 from Onlineberatung/develop
Browse files Browse the repository at this point in the history
[pull] develop from Onlineberatung:develop
  • Loading branch information
tkuzynow authored Sep 9, 2022
2 parents a496a3b + 4a0feb4 commit 06c14b1
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import static de.caritas.cob.userservice.api.helper.SessionDataProvider.fromUserDTO;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
import static java.util.Objects.requireNonNull;
import static org.apache.commons.lang3.BooleanUtils.isTrue;

Expand Down Expand Up @@ -130,11 +131,14 @@ private void initializeMonitoring(
}

private Session initializeSession(UserDTO userDTO, User user, AgencyDTO agencyDTO) {
var sessionData = fromUserDTO(userDTO);
var isTeaming = isTrue(agencyDTO.getTeamAgency());
boolean initialized = false;

try {
var session =
sessionService.initializeSession(user, userDTO, isTrue(agencyDTO.getTeamAgency()));
sessionDataService.saveSessionData(session, fromUserDTO(userDTO));
var session = sessionService.initializeSession(user, userDTO, isTeaming);
initialized = nonNull(session) && nonNull(session.getId());
sessionDataService.saveSessionData(session, sessionData);

return session;
} catch (Exception ex) {
Expand All @@ -145,9 +149,9 @@ private Session initializeSession(UserDTO userDTO, User user, AgencyDTO agencyDT
.rollBackUserAccount(Boolean.parseBoolean(userDTO.getTermsAccepted()))
.build());

throw new InternalServerErrorException(
String.format(
"Could not create session for user %s. %s", user.getUsername(), ex.getMessage()));
var stepWord = initialized ? "save session data" : "initialize session";
var message = String.format("Could not %s for user %s.", stepWord, user.getUsername());
throw new InternalServerErrorException(message, ex);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,10 @@ public Optional<Long> resolve(HttpServletRequest request) {
}

private Optional<Long> resolveTenantFromConsultantRequestParameter() {
// temporarily set technical tenant to be able to run query during tenant determination
TenantContext.setCurrentTenant(0L);
Optional<Consultant> consultant = consultantService.getConsultant(getConsultantId());
TenantContext.clear();
if (consultant.isPresent()) {
return Optional.of(consultant.get().getTenantId());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import javax.servlet.http.HttpServletRequest;
import org.jeasy.random.EasyRandom;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
Expand Down Expand Up @@ -42,6 +43,11 @@ class MultitenancyWithSingleDomainTenantResolverTest {

@Mock private ServletRequestAttributes requestAttributes;

@BeforeEach
public void initialize() {
TenantContext.clear();
}

@AfterEach
public void tearDown() {
resetRequestAttributes();
Expand Down Expand Up @@ -87,6 +93,7 @@ void resolve_Should_ResolveToEmpty_When_FeatureMultitenancyWithSingleDomainIsDis
assertThat(multitenancyWithSingleDomainTenantResolver.canResolve(request)).isTrue();
assertThat(multitenancyWithSingleDomainTenantResolver.resolve(request))
.isEqualTo(Optional.of(ANOTHER_TENANT));
assertThat(TenantContext.getCurrentTenant()).isNull();
}

@Test
Expand All @@ -106,6 +113,7 @@ void resolve_Should_ResolveToEmpty_When_FeatureMultitenancyWithSingleDomainIsDis
// when
assertThat(multitenancyWithSingleDomainTenantResolver.canResolve(request)).isFalse();
assertThat(multitenancyWithSingleDomainTenantResolver.resolve(request)).isEmpty();
assertThat(TenantContext.getCurrentTenant()).isNull();
}

@Test
Expand Down

0 comments on commit 06c14b1

Please sign in to comment.