[OOM-CERT-SERVICE] Remove CaMode from Cmpv2Server configuration
[oom/platform/cert-service.git] / certService / src / test / java / org / onap / oom / certservice / certification / configuration / Cmpv2ServerProviderTest.java
1 /*
2  * ============LICENSE_START=======================================================
3  * PROJECT
4  * ================================================================================
5  * Copyright (C) 2020 Nokia. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.oom.certservice.certification.configuration;
22
23 import org.bouncycastle.asn1.x500.X500Name;
24 import org.junit.jupiter.api.BeforeEach;
25 import org.junit.jupiter.api.Test;
26 import org.junit.jupiter.api.extension.ExtendWith;
27 import org.mockito.Mock;
28 import org.mockito.junit.jupiter.MockitoExtension;
29 import org.onap.oom.certservice.certification.configuration.model.Authentication;
30 import org.onap.oom.certservice.certification.configuration.model.Cmpv2Server;
31 import org.onap.oom.certservice.certification.exception.Cmpv2ServerNotFoundException;
32
33 import java.util.Collections;
34
35 import static org.assertj.core.api.Assertions.assertThat;
36 import static org.junit.jupiter.api.Assertions.assertThrows;
37 import static org.junit.jupiter.api.Assertions.assertTrue;
38 import static org.mockito.Mockito.when;
39
40 @ExtendWith(MockitoExtension.class)
41 class Cmpv2ServerProviderTest {
42
43     private static final String TEST_CA = "testCA";
44
45     private Cmpv2ServerProvider cmpv2ServerProvider;
46
47     @Mock
48     private CmpServersConfig cmpServersConfig;
49
50     @BeforeEach
51     void setUp() {
52         cmpv2ServerProvider =
53                 new Cmpv2ServerProvider(cmpServersConfig);
54     }
55
56     @Test
57     void shouldReturnOptionalWithServerWhenServerWithGivenCaNameIsPresentInConfig() {
58         // Given
59         Cmpv2Server testServer = createTestServer();
60         when(cmpServersConfig.getCmpServers()).thenReturn(Collections.singletonList(testServer));
61
62         // When
63         Cmpv2Server receivedServer = cmpv2ServerProvider
64                 .getCmpv2Server(TEST_CA);
65
66         // Then
67         assertThat(receivedServer).isEqualToComparingFieldByField(testServer);
68     }
69
70     @Test
71     void shouldReturnEmptyOptionalWhenServerWithGivenCaNameIsNotPresentInConfig() {
72         // Given
73         String expectedMessage = "No server found for given CA name";
74         when(cmpServersConfig.getCmpServers()).thenReturn(Collections.emptyList());
75
76         // When
77         Exception exception = assertThrows(
78                 Cmpv2ServerNotFoundException.class, () ->
79                         cmpv2ServerProvider.getCmpv2Server(TEST_CA)
80         );
81
82         // Then
83         assertTrue(exception.getMessage().contains(expectedMessage));
84     }
85
86     private Cmpv2Server createTestServer() {
87         Cmpv2Server testServer = new Cmpv2Server();
88         testServer.setCaName(TEST_CA);
89         testServer.setIssuerDN(new X500Name("CN=testIssuer"));
90         testServer.setUrl("http://test.ca.server");
91         Authentication testAuthentication = new Authentication();
92         testAuthentication.setIak("testIak");
93         testAuthentication.setRv("testRv");
94         testServer.setAuthentication(testAuthentication);
95
96         return testServer;
97     }
98 }