Search in sources :

Example 11 with UploadSslCertCmd

use of com.cloud.api.command.user.loadbalancer.UploadSslCertCmd in project cosmic by MissionCriticalCloud.

the class CertServiceTest method runUploadSslCertSelfSignedWithPassword.

@Test
public /**
 * Given a Self-signed Certificate with encrypted key, upload should succeed
 */
void runUploadSslCertSelfSignedWithPassword() throws Exception {
    final TransactionLegacy txn = TransactionLegacy.open("runUploadSslCertSelfSignedWithPassword");
    final String certFile = URLDecoder.decode(getClass().getResource("/certs/rsa_self_signed_with_pwd.crt").getFile(), Charset.defaultCharset().name());
    final String keyFile = URLDecoder.decode(getClass().getResource("/certs/rsa_self_signed_with_pwd.key").getFile(), Charset.defaultCharset().name());
    final String password = "test";
    final String cert = readFileToString(new File(certFile));
    final String key = readFileToString(new File(keyFile));
    final CertServiceImpl certService = new CertServiceImpl();
    // setting mock objects
    certService._accountMgr = Mockito.mock(AccountManager.class);
    final Account account = new AccountVO("testaccount", 1, "networkdomain", (short) 0, UUID.randomUUID().toString());
    when(certService._accountMgr.getAccount(anyLong())).thenReturn(account);
    certService._domainDao = Mockito.mock(DomainDao.class);
    final DomainVO domain = new DomainVO("networkdomain", 1L, 1L, "networkdomain");
    when(certService._domainDao.findByIdIncludingRemoved(anyLong())).thenReturn(domain);
    certService._sslCertDao = Mockito.mock(SslCertDao.class);
    when(certService._sslCertDao.persist(any(SslCertVO.class))).thenReturn(new SslCertVO());
    certService._accountDao = Mockito.mock(AccountDao.class);
    when(certService._accountDao.findByIdIncludingRemoved(anyLong())).thenReturn((AccountVO) account);
    // creating the command
    final UploadSslCertCmd uploadCmd = new UploadSslCertCmdExtn();
    final Class<?> _class = uploadCmd.getClass().getSuperclass();
    final Field certField = _class.getDeclaredField("cert");
    certField.setAccessible(true);
    certField.set(uploadCmd, cert);
    final Field keyField = _class.getDeclaredField("key");
    keyField.setAccessible(true);
    keyField.set(uploadCmd, key);
    final Field passField = _class.getDeclaredField("password");
    passField.setAccessible(true);
    passField.set(uploadCmd, password);
    certService.uploadSslCert(uploadCmd);
}
Also used : Account(com.cloud.user.Account) SslCertDao(com.cloud.network.dao.SslCertDao) AccountDao(com.cloud.user.dao.AccountDao) FileUtils.readFileToString(org.apache.commons.io.FileUtils.readFileToString) AccountVO(com.cloud.user.AccountVO) TransactionLegacy(com.cloud.utils.db.TransactionLegacy) DomainVO(com.cloud.domain.DomainVO) Field(java.lang.reflect.Field) SslCertVO(com.cloud.network.dao.SslCertVO) DomainDao(com.cloud.domain.dao.DomainDao) AccountManager(com.cloud.user.AccountManager) UploadSslCertCmd(com.cloud.api.command.user.loadbalancer.UploadSslCertCmd) File(java.io.File) Test(org.junit.Test)

Aggregations

UploadSslCertCmd (com.cloud.api.command.user.loadbalancer.UploadSslCertCmd)11 DomainVO (com.cloud.domain.DomainVO)11 DomainDao (com.cloud.domain.dao.DomainDao)11 SslCertDao (com.cloud.network.dao.SslCertDao)11 SslCertVO (com.cloud.network.dao.SslCertVO)11 Account (com.cloud.user.Account)11 AccountManager (com.cloud.user.AccountManager)11 AccountVO (com.cloud.user.AccountVO)11 File (java.io.File)11 Field (java.lang.reflect.Field)11 FileUtils.readFileToString (org.apache.commons.io.FileUtils.readFileToString)11 Test (org.junit.Test)11 IOException (java.io.IOException)8 AccountDao (com.cloud.user.dao.AccountDao)3 TransactionLegacy (com.cloud.utils.db.TransactionLegacy)3