package com.constellio.model.services.users; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.when; import java.io.IOException; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import com.constellio.model.services.encrypt.EncryptionServices; public class FakeEncryptionServicesUtils extends EncryptionServices { public FakeEncryptionServicesUtils() throws NoSuchAlgorithmException, InvalidKeySpecException, IOException { super(true); } @Override public String encrypt(String toEncrypt) { return "$" + toEncrypt; } @Override public String decrypt(String encryptedText) { return encryptedText.substring(1); } public static EncryptionServices create() { EncryptionServices encryptionServices = Mockito.mock(EncryptionServices.class); when(encryptionServices.decrypt(anyString())).thenAnswer(new Answer<String>() { @Override public String answer(InvocationOnMock invocation) throws Throwable { String encryptedText = (String) invocation.getArguments()[0]; return encryptedText.substring(1); } }); when(encryptionServices.encrypt(anyString())).thenAnswer(new Answer<String>() { @Override public String answer(InvocationOnMock invocation) throws Throwable { String toEncrypt = (String) invocation.getArguments()[0]; return "$" + toEncrypt; } }); return encryptionServices; } }