Throw exception if decryption/encryption fails
[aaa.git] / aaa-cert / src / test / java / org / opendaylight / aaa / cert / impl / KeyStoresDataUtilsTest.java
index aceabf958b3249fdd816e44e2f7e6c02137f9d8b..99cc95c220b60bdcec17e168d5c6ea109407fe48 100644 (file)
@@ -10,11 +10,10 @@ package org.opendaylight.aaa.cert.impl;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 
 import java.io.File;
+import java.nio.charset.Charset;
 import java.security.Security;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -23,6 +22,7 @@ import java.util.Optional;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.aaa.encrypt.AAAEncryptionService;
 import org.opendaylight.mdsal.binding.api.DataBroker;
@@ -48,7 +48,6 @@ public class KeyStoresDataUtilsTest {
         Security.addProvider(new BouncyCastleProvider());
     }
 
-    private static final AAAEncryptionService AAA_ENCRYPTION_SERVICE = mock(AAAEncryptionService.class);
     private static final byte[] ENCRYPTED_BYTE = new byte[] { 1, 2, 3 };
     private static final String ALIAS = "fooTest";
     private static final String BUNDLE_NAME = "opendaylight";
@@ -61,10 +60,17 @@ public class KeyStoresDataUtilsTest {
     private static final String TRUST_NAME = "trustTest.jks";
     private static final String TEST_PATH = "target" + File.separator + "test" + File.separator;
 
-    private final DataBroker dataBroker = mock(DataBroker.class);
+    @Mock
+    private AAAEncryptionService encryptionService;
+    @Mock
+    private DataBroker dataBroker;
+    @Mock
+    private WriteTransaction wtx;
+    @Mock
+    private ReadTransaction rtx;
 
     @Test
-    public void keyStoresDataUtilsTest() {
+    public void keyStoresDataUtilsTest() throws Exception {
         // Test vars setup
         final OdlKeystore odlKeystore = new OdlKeystoreBuilder().setAlias(ALIAS).setDname(D_NAME).setName(ODL_NAME)
                 .setStorePassword(PASSWORD).setValidity(KeyStoreConstant.DEFAULT_VALIDITY)
@@ -81,22 +87,21 @@ public class KeyStoresDataUtilsTest {
                 .setBundleName(BUNDLE_NAME).build();
 
         final ODLKeyTool odlKeyTool = new ODLKeyTool(TEST_PATH);
-        final KeyStoresDataUtils keyStoresDataUtils = new KeyStoresDataUtils(AAA_ENCRYPTION_SERVICE);
+        final KeyStoresDataUtils keyStoresDataUtils = new KeyStoresDataUtils(encryptionService);
 
         // Mock setup
-        final WriteTransaction wtx = mock(WriteTransaction.class);
         doReturn(CommitInfo.emptyFluentFuture()).when(wtx).commit();
         doReturn(wtx).when(dataBroker).newWriteOnlyTransaction();
 
-        final ReadTransaction rtx = mock(ReadTransaction.class);
         doReturn(FluentFutures.immediateFluentFuture(Optional.of(sslData))).when(rtx).read(
             any(LogicalDatastoreType.class), any(InstanceIdentifier.class));
         doReturn(rtx).when(dataBroker).newReadOnlyTransaction();
 
-        doReturn(ENCRYPTED_STRING).when(AAA_ENCRYPTION_SERVICE).encrypt(isA(String.class));
+        doReturn(ENCRYPTED_STRING.getBytes(Charset.defaultCharset())).when(encryptionService).encrypt(any());
+        doReturn(PASSWORD.getBytes(Charset.defaultCharset())).when(encryptionService).decrypt(any());
 
         // getKeystoresIid
-        InstanceIdentifier instanceIdentifierResult = KeyStoresDataUtils.getKeystoresIid();
+        InstanceIdentifier<?> instanceIdentifierResult = KeyStoresDataUtils.getKeystoresIid();
         assertNotNull(instanceIdentifierResult);
 
         // getSslIid()