aboutsummaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java')
-rw-r--r--certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java56
1 files changed, 48 insertions, 8 deletions
diff --git a/certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java b/certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java
index b44d6447..93dcbb77 100644
--- a/certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java
+++ b/certService/src/test/java/org/onap/oom/certservice/cmpv2client/Cmpv2ClientTest.java
@@ -19,12 +19,15 @@ package org.onap.oom.certservice.cmpv2client;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
+import static org.onap.oom.certservice.cmpv2client.ClientTestData.createOldCertificateModelWithPrivateKeyInPKCS1;
+import static org.onap.oom.certservice.cmpv2client.ClientTestData.createOldCertificateModelWithPrivateKeyInPKCS8;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
@@ -49,6 +52,7 @@ import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Date;
+import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -73,11 +77,15 @@ 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.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.Mock;
import org.onap.oom.certservice.certification.configuration.model.Authentication;
import org.onap.oom.certservice.certification.configuration.model.Cmpv2Server;
import org.onap.oom.certservice.certification.exception.CertificateDecryptionException;
import org.onap.oom.certservice.certification.model.CsrModel;
+import org.onap.oom.certservice.certification.model.OldCertificateModel;
import org.onap.oom.certservice.cmpv2client.exceptions.CmpClientException;
import org.onap.oom.certservice.cmpv2client.exceptions.CmpServerException;
import org.onap.oom.certservice.cmpv2client.impl.CmpClientImpl;
@@ -149,14 +157,7 @@ class Cmpv2ClientTest {
when(httpClient.execute(any())).thenReturn(httpResponse);
when(httpResponse.getEntity()).thenReturn(httpEntity);
- doAnswer(
- invocation -> {
- OutputStream os = invocation.getArgument(0);
- os.write(BASE64_DECODER.decode(ClientTestData.KUR_CORRECT_SERVER_RESPONSE_ENCODED.getBytes()));
- return null;
- })
- .when(httpEntity)
- .writeTo(any(OutputStream.class));
+ mockCorrectKeyUpdateResponse();
CmpClientImpl cmpClient = new CmpClientImpl(httpClient);
// when
@@ -199,6 +200,26 @@ class Cmpv2ClientTest {
}
+ @ParameterizedTest
+ @MethodSource("getTestUpdateModelWithSupportedPrivateKeys")
+ void shouldNotThrowExceptionForPrivateKeyInExpectedFormat(OldCertificateModel oldCertificateModel)
+ throws IOException {
+
+ // given
+ setCsrModelAndServerTestDefaultValues();
+ when(httpClient.execute(any())).thenReturn(httpResponse);
+ when(httpResponse.getEntity()).thenReturn(httpEntity);
+
+ mockCorrectKeyUpdateResponse();
+ CmpClientImpl cmpClient = new CmpClientImpl(httpClient);
+
+ // when // then
+ assertDoesNotThrow(() -> cmpClient
+ .executeKeyUpdateRequest(csrModel, server, oldCertificateModel)
+ );
+
+ }
+
@Test
void shouldThrowCmpClientExceptionWhenCannotParseOldPrivateKey() {
setCsrModelAndServerTestDefaultValues();
@@ -415,6 +436,17 @@ class Cmpv2ClientTest {
() -> cmpClient.executeInitializationRequest(csrModel, server, notBefore, notAfter));
}
+ private void mockCorrectKeyUpdateResponse() throws IOException {
+ doAnswer(
+ invocation -> {
+ OutputStream os = invocation.getArgument(0);
+ os.write(BASE64_DECODER.decode(ClientTestData.KUR_CORRECT_SERVER_RESPONSE_ENCODED.getBytes()));
+ return null;
+ })
+ .when(httpEntity)
+ .writeTo(any(OutputStream.class));
+ }
+
private void setCsrModelAndServerValues(String iak, String rv, String externalCaUrl, Date notBefore, Date notAfter) {
csrModel = new CsrModel(null, dn, keyPair.getPrivate(), keyPair.getPublic(), new GeneralName[0]);
@@ -469,4 +501,12 @@ class Cmpv2ClientTest {
.build();
}
+ private static Stream<Arguments> getTestUpdateModelWithSupportedPrivateKeys()
+ throws CertificateDecryptionException {
+ return Stream.of(
+ Arguments.of(createOldCertificateModelWithPrivateKeyInPKCS1()),
+ Arguments.of(createOldCertificateModelWithPrivateKeyInPKCS8())
+ );
+ }
+
}