@Test public void decryptReturnsSecretFromCache() { String decrypted = secretSession.decrypt("encrypted:noop!f:test!k:key"); assertEquals("decrypted", decrypted); }
public String decrypt(String encryptedSecret) { if (secretCache.containsKey(encryptedSecret)) { return secretCache.get(encryptedSecret); } else { String decryptedValue = secretManager.decrypt(encryptedSecret); addCachedSecret(encryptedSecret, decryptedValue); return decryptedValue; } }
SecretSession { public String decrypt(String encryptedSecret) { if (secretCache.containsKey(encryptedSecret)) { return secretCache.get(encryptedSecret); } else { String decryptedValue = secretManager.decrypt(encryptedSecret); addCachedSecret(encryptedSecret, decryptedValue); return decryptedValue; } } }
SecretSession { public String decrypt(String encryptedSecret) { if (secretCache.containsKey(encryptedSecret)) { return secretCache.get(encryptedSecret); } else { String decryptedValue = secretManager.decrypt(encryptedSecret); addCachedSecret(encryptedSecret, decryptedValue); return decryptedValue; } } SecretSession(SecretManager secretManager); }
SecretSession { public String decrypt(String encryptedSecret) { if (secretCache.containsKey(encryptedSecret)) { return secretCache.get(encryptedSecret); } else { String decryptedValue = secretManager.decrypt(encryptedSecret); addCachedSecret(encryptedSecret, decryptedValue); return decryptedValue; } } SecretSession(SecretManager secretManager); String decrypt(String encryptedSecret); Path decryptAsFile(String encryptedSecret); byte[] decryptAsBytes(String encrypted); void clearCachedSecrets(); void addCachedSecret(String encrypted, String decrypted); void addCachedSecretFile(String encrypted, Path decrypted); }
SecretSession { public String decrypt(String encryptedSecret) { if (secretCache.containsKey(encryptedSecret)) { return secretCache.get(encryptedSecret); } else { String decryptedValue = secretManager.decrypt(encryptedSecret); addCachedSecret(encryptedSecret, decryptedValue); return decryptedValue; } } SecretSession(SecretManager secretManager); String decrypt(String encryptedSecret); Path decryptAsFile(String encryptedSecret); byte[] decryptAsBytes(String encrypted); void clearCachedSecrets(); void addCachedSecret(String encrypted, String decrypted); void addCachedSecretFile(String encrypted, Path decrypted);  }