aboutsummaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java')
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java118
1 files changed, 38 insertions, 80 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java b/certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java
index 3f5a2540..bea6b6a1 100644
--- a/certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java
+++ b/certService/src/test/java/org/onap/aaf/certservice/cmpv2client/Cmpv2ClientTest.java
@@ -30,7 +30,6 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.security.KeyFactory;
import java.security.KeyPair;
-import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.PrivateKey;
@@ -42,7 +41,7 @@ import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -50,15 +49,18 @@ import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.impl.client.CloseableHttpClient;
-import org.bouncycastle.cert.CertException;
+import org.bouncycastle.asn1.x500.X500Name;
+import org.bouncycastle.asn1.x500.X500NameBuilder;
+import org.bouncycastle.asn1.x500.style.BCStyle;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
+import org.onap.aaf.certservice.certification.configuration.model.Authentication;
+import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
+import org.onap.aaf.certservice.certification.model.CsrModel;
import org.onap.aaf.certservice.cmpv2client.exceptions.CmpClientException;
-import org.onap.aaf.certservice.cmpv2client.external.CsrMeta;
-import org.onap.aaf.certservice.cmpv2client.external.Rdn;
import org.onap.aaf.certservice.cmpv2client.impl.CmpClientImpl;
class Cmpv2ClientTest {
@@ -67,12 +69,11 @@ class Cmpv2ClientTest {
Security.addProvider(new BouncyCastleProvider());
}
- private CsrMeta csrMeta;
+ private CsrModel csrModel;
+ private Cmpv2Server server;
private Date notBefore;
private Date notAfter;
-
- @Mock
- KeyPairGenerator kpg;
+ private X500Name dn;
@Mock
X509Certificate cert;
@@ -87,22 +88,15 @@ class Cmpv2ClientTest {
HttpEntity httpEntity;
private static KeyPair keyPair;
- private static ArrayList<Rdn> rdns;
@BeforeEach
void setUp()
throws NoSuchProviderException, NoSuchAlgorithmException, IOException,
InvalidKeySpecException {
- KeyPairGenerator keyGenerator;
- keyGenerator = KeyPairGenerator.getInstance("RSA", BouncyCastleProvider.PROVIDER_NAME);
- keyGenerator.initialize(2048);
keyPair = loadKeyPair();
- rdns = new ArrayList<>();
- try {
- rdns.add(new Rdn("O=CommonCompany"));
- } catch (CertException e) {
- e.printStackTrace();
- }
+ dn = new X500NameBuilder()
+ .addRDN(BCStyle.O, "TestOrganization")
+ .build();
initMocks(this);
}
@@ -133,15 +127,10 @@ class Cmpv2ClientTest {
// given
Date beforeDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2019/11/11 12:00:00");
Date afterDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2020/11/11 12:00:00");
- setCsrMetaValuesAndDateValues(
- rdns,
- "CN=CommonName",
- "CN=ManagementCA",
- "CommonName.com",
- "CommonName@cn.com",
+ setCsrModelAndServerValues(
"mypassword",
- "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
"senderKID",
+ "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
beforeDate,
afterDate);
when(httpClient.execute(any())).thenReturn(httpResponse);
@@ -164,7 +153,7 @@ class Cmpv2ClientTest {
CmpClientImpl cmpClient = spy(new CmpClientImpl(httpClient));
// when
List<List<X509Certificate>> cmpClientResult =
- cmpClient.createCertificate("data", "RA", csrMeta, cert, notBefore, notAfter);
+ cmpClient.createCertificate("data", "RA", csrModel, server, cert, notBefore, notAfter);
// then
assertNotNull(cmpClientResult);
}
@@ -176,15 +165,10 @@ class Cmpv2ClientTest {
// given
Date beforeDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2019/11/11 12:00:00");
Date afterDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2020/11/11 12:00:00");
- setCsrMetaValuesAndDateValues(
- rdns,
- "CN=CommonName",
- "CN=ManagementCA",
- "CommonName.com",
- "CommonName@cn.com",
+ setCsrModelAndServerValues(
"password",
- "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
"senderKID",
+ "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
beforeDate,
afterDate);
when(httpClient.execute(any())).thenReturn(httpResponse);
@@ -208,7 +192,7 @@ class Cmpv2ClientTest {
// then
Assertions.assertThrows(
CmpClientException.class,
- () -> cmpClient.createCertificate("data", "RA", csrMeta, cert, notBefore, notAfter));
+ () -> cmpClient.createCertificate("data", "RA", csrModel, server, cert, notBefore, notAfter));
}
@Test
@@ -217,15 +201,10 @@ class Cmpv2ClientTest {
// given
Date beforeDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2019/11/11 12:00:00");
Date afterDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2020/11/11 12:00:00");
- setCsrMetaValuesAndDateValues(
- rdns,
- "CN=CommonName",
- "CN=ManagementCA",
- "CommonName.com",
- "CommonName@cn.com",
+ setCsrModelAndServerValues(
"password",
- "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
"senderKID",
+ "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
beforeDate,
afterDate);
when(httpClient.execute(any())).thenReturn(httpResponse);
@@ -250,7 +229,7 @@ class Cmpv2ClientTest {
// then
Assertions.assertThrows(
CmpClientException.class,
- () -> cmpClient.createCertificate("data", "RA", csrMeta, cert, notBefore, notAfter));
+ () -> cmpClient.createCertificate("data", "RA", csrModel, server, cert, notBefore, notAfter));
}
@Test
@@ -259,22 +238,17 @@ class Cmpv2ClientTest {
// given
Date beforeDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2020/11/11 12:00:00");
Date afterDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2019/11/11 12:00:00");
- setCsrMetaValuesAndDateValues(
- rdns,
- "CN=CommonName",
- "CN=ManagementCA",
- "CommonName.com",
- "CommonName@cn.com",
+ setCsrModelAndServerValues(
"password",
- "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
"senderKID",
+ "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
beforeDate,
afterDate);
CmpClientImpl cmpClient = new CmpClientImpl(httpClient);
// then
Assertions.assertThrows(
IllegalArgumentException.class,
- () -> cmpClient.createCertificate("data", "RA", csrMeta, cert, notBefore, notAfter));
+ () -> cmpClient.createCertificate("data", "RA", csrModel, server, cert, notBefore, notAfter));
}
@Test
@@ -283,15 +257,10 @@ class Cmpv2ClientTest {
// given
Date beforeDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2019/11/11 12:00:00");
Date afterDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2020/11/11 12:00:00");
- setCsrMetaValuesAndDateValues(
- rdns,
- "CN=Common",
- "CN=CommonCA",
- "Common.com",
- "Common@cn.com",
+ setCsrModelAndServerValues(
"myPassword",
- "http://127.0.0.1/ejbca/publicweb/cmp/cmpTest",
"sender",
+ "http://127.0.0.1/ejbca/publicweb/cmp/cmpTest",
beforeDate,
afterDate);
when(httpClient.execute(any())).thenThrow(IOException.class);
@@ -299,30 +268,19 @@ class Cmpv2ClientTest {
// then
Assertions.assertThrows(
CmpClientException.class,
- () -> cmpClient.createCertificate("data", "RA", csrMeta, cert, notBefore, notAfter));
+ () -> cmpClient.createCertificate("data", "RA", csrModel, server, cert, notBefore, notAfter));
}
- private void setCsrMetaValuesAndDateValues(
- List<Rdn> rdns,
- String cn,
- String issuerCn,
- String san,
- String email,
- String password,
- String externalCaUrl,
- String senderKid,
- Date notBefore,
- Date notAfter) {
- csrMeta = new CsrMeta(rdns);
- csrMeta.setCn(cn);
- csrMeta.addSan(san);
- csrMeta.setPassword(password);
- csrMeta.setEmail(email);
- csrMeta.setIssuerCn(issuerCn);
- when(kpg.generateKeyPair()).thenReturn(keyPair);
- csrMeta.getKeyPairOrGenerateIfNull();
- csrMeta.setCaUrl(externalCaUrl);
- csrMeta.setSenderKid(senderKid);
+ private void setCsrModelAndServerValues(String iak, String rv, String externalCaUrl, Date notBefore, Date notAfter) {
+ csrModel = new CsrModel(null, dn, keyPair.getPrivate(), keyPair.getPublic(), Collections.emptyList());
+
+ Authentication authentication = new Authentication();
+ authentication.setIak(iak);
+ authentication.setRv(rv);
+ server = new Cmpv2Server();
+ server.setAuthentication(authentication);
+ server.setUrl(externalCaUrl);
+ server.setIssuerDN(dn);
this.notBefore = notBefore;
this.notAfter = notAfter;
}