Skip to content

Commit

Permalink
chore: cleanup code
Browse files Browse the repository at this point in the history
  • Loading branch information
patric-dosch-vi committed Sep 21, 2023
1 parent 5e2e032 commit 1872914
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ public boolean validate(String otp, OTPCredentialModel credentialModel,

public void deleteCredentials(CredentialContext context) {
var userCredentialManager = context.getUser().credentialManager();
var credentials = userCredentialManager.getStoredCredentialsByTypeStream(OTPCredentialModel.TYPE);
var credentials = userCredentialManager.getStoredCredentialsByTypeStream(
OTPCredentialModel.TYPE);
credentials.forEach(
credentialModel -> CredentialHelper.deleteOTPCredential(context.getSession(),
context.getRealm(), context.getUser(), credentialModel.getId()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,13 @@ public boolean isValid(RealmModel realm, UserModel user, CredentialInput credent
if (challengeResponse == null) {
return false;
}
var credentialModel = user.credentialManager().getStoredCredentialById(credentialInput.getCredentialId());
var credentialModel = user.credentialManager()
.getStoredCredentialById(credentialInput.getCredentialId());
var otpCredentialModel = getCredentialFromModel(credentialModel);
return otpCredentialModel.getOtp().getCode().equals(challengeResponse);
}

public void updateCredential(RealmModel realm, UserModel user,
MailOtpCredentialModel credentialModel) {
public void updateCredential(UserModel user, MailOtpCredentialModel credentialModel) {
user.credentialManager().updateStoredCredential(credentialModel);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,22 @@ public MailOtpCredentialModel createCredential(Otp otp, CredentialContext contex
}

public void update(MailOtpCredentialModel credentialModel, CredentialContext context) {
credentialProvider.updateCredential(context.getRealm(), context.getUser(), credentialModel);
credentialProvider.updateCredential(context.getUser(), credentialModel);
}

public void incrementFailedAttempts(MailOtpCredentialModel credentialModel,
CredentialContext context, int currentAttempts) {
credentialModel.updateFailedVerifications(currentAttempts + 1);
credentialModel.updateInternalModel();
credentialProvider.updateCredential(context.getRealm(), context.getUser(), credentialModel);
credentialProvider.updateCredential(context.getUser(), credentialModel);
}

public void activate(MailOtpCredentialModel credentialModel, CredentialContext context) {
credentialModel.setActive();
credentialModel.updateFailedVerifications(0);
credentialModel.invalidateCode();
credentialModel.updateInternalModel();
credentialProvider.updateCredential(context.getRealm(), context.getUser(), credentialModel);
credentialProvider.updateCredential(context.getUser(), credentialModel);
}

public MailOtpCredentialModel getCredential(CredentialContext context) {
Expand All @@ -61,7 +61,7 @@ public void invalidate(MailOtpCredentialModel credentialModel, CredentialContext
credentialModel.updateFailedVerifications(0);
credentialModel.invalidateCode();
credentialModel.updateInternalModel();
credentialProvider.updateCredential(context.getRealm(), context.getUser(), credentialModel);
credentialProvider.updateCredential(context.getUser(), credentialModel);
}

public boolean is2FAConfigured(CredentialContext context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,6 @@ public void setUp() {
when(session.users()).thenReturn(userProvider);
UserModel user = mock(UserModel.class);
when(userProvider.getUserByUsername(realm, "heinrich")).thenReturn(user);


// var userCredentialManager = mock(UserCredentialManager.class);
// when(session.userCredentialManager()).thenReturn(userCredentialManager);
// when(userCredentialManager.isConfiguredFor(any(), any(), any())).thenReturn(false);
var appCredentialService = mock(AppOtpCredentialService.class);
resourceProvider = new RealmOtpResourceProvider(session, otpService, mailSender,
sessionAuthenticator, appCredentialService, credentialService);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,10 @@ public void setupOtpMail_should_be_created_and_delete_app_if_2fa_via_app_is_alre
var otp = new Otp("1223", 1L, 2L, "[email protected]", 0);
var credentialModel = MailOtpCredentialModel.createOtpModel(otp, Clock.systemDefaultZone());
when(otpService.validate("1223", otp)).thenReturn(
ValidationResult.VALID);
ValidationResult.VALID);
when(mailCredentialService.getCredential(credentialContext)).thenReturn(credentialModel);
when(mailCredentialService.createCredential(otp, credentialContext)).thenReturn(
credentialModel);
credentialModel);

var response = resourceProvider.setupOtpMail("heinrich", mailSetup);

Expand All @@ -259,7 +259,7 @@ public void getOtpSetupInfo_should_return_type_app_if_app_2fa_is_configured() {
public void getOtpSetupInfo_should_return_type_mail_if_mail_2fa_is_configured() {
when(appCredentialService.generateSecret()).thenReturn("someSecret");
when(appCredentialService.generateQRCodeBase64("someSecret", credentialContext)).thenReturn(
"base64EncodedQRCode");
"base64EncodedQRCode");
when(mailCredentialService.is2FAConfigured(credentialContext)).thenReturn(true);

var response = resourceProvider.getOtpSetupInfo("heinrich");
Expand Down Expand Up @@ -296,9 +296,9 @@ public void setupOtp_should_be_created_and_delete_mail_otp_if_mail_otp_is_alread
otpSetup.setInitialCode("4711");
var credentialModel = mock(OTPCredentialModel.class);
when(appCredentialService.createModel("secretSecret", credentialContext)).thenReturn(
credentialModel);
credentialModel);
when((appCredentialService.validate("4711", credentialModel, credentialContext))).thenReturn(
true);
true);

var response = resourceProvider.setupOtp("heinrich", otpSetup);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package de.onlineberatung.authenticator;

import static de.onlineberatung.credential.MailOtpCredentialModel.createOtpModel;
import static java.time.Clock.systemDefaultZone;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.mockito.ArgumentMatchers.eq;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package de.onlineberatung.authenticator;

import static de.onlineberatung.credential.MailOtpCredentialModel.createOtpModel;
import static java.time.Clock.systemDefaultZone;
import static java.util.Collections.singletonList;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,13 @@
public class MailOtpCredentialServiceTest {

private MailOtpCredentialService credentialService;
private RealmModel realm;
private UserModel user;
private CredentialContext credentialContext;
private MailOtpCredentialProvider credentialProvider;

@Before
public void setUp() {
realm = mock(RealmModel.class);
RealmModel realm = mock(RealmModel.class);
KeycloakSession session = mock(KeycloakSession.class);
user = mock(UserModel.class);
credentialContext = new CredentialContext(session, realm, user);
Expand All @@ -52,7 +51,7 @@ public void activate_should_activate_and_reset_failed_verifications() {
AssertionsForClassTypes.assertThat(credential.getOtp().getFailedVerifications()).isZero();
AssertionsForClassTypes
.assertThat(credential.getOtp().getCode()).isEqualTo(MailOtpCredentialModel.INVALIDATED);
verify(credentialProvider).updateCredential(realm, user, credential);
verify(credentialProvider).updateCredential(user, credential);
}

@Test
Expand All @@ -65,7 +64,7 @@ public void invalidate_should_invalidate_code_and_reset_failed_verifications() {
AssertionsForClassTypes.assertThat(credential.getOtp().getFailedVerifications()).isZero();
AssertionsForClassTypes
.assertThat(credential.getOtp().getCode()).isEqualTo(MailOtpCredentialModel.INVALIDATED);
verify(credentialProvider).updateCredential(realm, user, credential);
verify(credentialProvider).updateCredential(user, credential);
}

@Test
Expand All @@ -77,6 +76,6 @@ public void incrementFailedAttempts_should_increment_failed_attempts() {
otp.getFailedVerifications());

AssertionsForClassTypes.assertThat(credential.getOtp().getFailedVerifications()).isEqualTo(1);
verify(credentialProvider).updateCredential(realm, user, credential);
verify(credentialProvider).updateCredential(user, credential);
}
}

0 comments on commit 1872914

Please sign in to comment.