diff options
Diffstat (limited to 'certService/src/test/java')
5 files changed, 326 insertions, 3 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java index f4421ffe..b4eec400 100644 --- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java +++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java @@ -21,7 +21,13 @@ package org.onap.aaf.certservice.certification.configuration; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.onap.aaf.certservice.CertServiceApplication; import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.PropertySource; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; import java.io.IOException; import java.util.List; @@ -29,6 +35,8 @@ import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = CertServiceApplication.class) class CmpServersConfigLoaderTest { private static final String EXISTING_CONFIG_FILENAME = "cmpServers.json"; private static final String NONEXISTING_CONFIG_FILENAME = "nonexisting_cmpServers.json"; @@ -49,13 +57,16 @@ class CmpServersConfigLoaderTest { "RV", "yyy" ); + @Autowired + private CmpServersConfigLoader configLoader; + @Test - public void shouldLoadCmpServersConfigWhenFileAvailable() throws IOException { + public void shouldLoadCmpServersConfigWhenFileAvailable() { // Given String path = getClass().getClassLoader().getResource(EXISTING_CONFIG_FILENAME).getFile(); // When - List<Cmpv2Server> cmpServers = new CmpServersConfigLoader().load(path); + List<Cmpv2Server> cmpServers = configLoader.load(path); // Then assertThat(cmpServers).isNotNull(); @@ -67,7 +78,7 @@ class CmpServersConfigLoaderTest { @Test() public void shouldReturnEmptyListWhenFileMissing() { // When - List<Cmpv2Server> cmpServers = new CmpServersConfigLoader().load(NONEXISTING_CONFIG_FILENAME); + List<Cmpv2Server> cmpServers = configLoader.load(NONEXISTING_CONFIG_FILENAME); // Then assertThat(cmpServers).isNotNull(); diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServerConfigurationValidatorTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServerConfigurationValidatorTest.java new file mode 100644 index 00000000..ea15740c --- /dev/null +++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServerConfigurationValidatorTest.java @@ -0,0 +1,127 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration.validation; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.onap.aaf.certservice.CertServiceApplication; +import org.onap.aaf.certservice.certification.configuration.model.Authentication; +import org.onap.aaf.certservice.certification.configuration.model.CaMode; +import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertThrows; + +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = CertServiceApplication.class) +class Cmpv2ServerConfigurationValidatorTest { + + @Autowired + private Cmpv2ServerConfigurationValidator validator; + + private Authentication authentication; + private Cmpv2Server server; + + @BeforeEach + private void init() { + setAuthentication(); + setServerConfiguration(); + } + + @Test + public void givenValidServerDetailsWhenValidatingShouldNotThrowAnyException() { + //then + assertDoesNotThrow(() -> validator.validate(server)); + } + + @Test + public void givenWrongProtocolInURLServerDetailsWhenValidatingShouldThrowException() { + //given + server.setUrl("https://test.test.test:60000/"); + + //then + assertThrows(IllegalArgumentException.class, () -> {validator.validate(server);}); + } + + @Test + public void givenWrongPortInURLServerDetailsWhenValidatingShouldThrowException() { + //given + server.setUrl("http://test.test.test:70000/"); + + //then + assertThrows(IllegalArgumentException.class, () -> validator.validate(server)); + } + + @Test + public void givenWrongCANameLengthInURLServerDetailsWhenValidatingShouldThrowException() { + //given + server.setCaName(""); + + //then + assertThrows(IllegalArgumentException.class, () -> validator.validate(server)); + } + + @Test + public void givenWrongIssuerDNLengthInURLServerDetailsWhenValidatingShouldThrowException() { + //given + server.setIssuerDN("123"); + + //then + assertThrows(IllegalArgumentException.class, () -> validator.validate(server)); + } + + @Test + public void givenWrongRVLengthInURLServerDetailsWhenValidatingShouldThrowException() { + //given + authentication.setRv(""); + + //then + assertThrows(IllegalArgumentException.class, () -> validator.validate(server)); + } + + @Test + public void givenWrongIAKLengthInURLServerDetailsWhenValidatingShouldThrowException() { + //given + authentication.setIak(""); + + //then + assertThrows(IllegalArgumentException.class, () -> validator.validate(server)); + } + + private void setServerConfiguration() { + server = new Cmpv2Server(); + server.setCaMode(CaMode.CLIENT); + server.setCaName("TEST"); + server.setIssuerDN("CN=ManagementCA"); + server.setUrl("http://127.0.0.1/ejbca/publicweb/cmp/cmp"); + server.setAuthentication(authentication); + } + + private void setAuthentication() { + authentication = new Authentication(); + authentication.setRv("testRV"); + authentication.setIak("testIAK"); + } +}
\ No newline at end of file diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2URLValidatorTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2URLValidatorTest.java new file mode 100644 index 00000000..a2a03860 --- /dev/null +++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2URLValidatorTest.java @@ -0,0 +1,55 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + + +package org.onap.aaf.certservice.certification.configuration.validation.constraints; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class Cmpv2URLValidatorTest { + + private Cmpv2URLValidator validator = new Cmpv2URLValidator(); + + @Test + public void givenCorrectURLWhenValidatingShouldReturnTrue() { + //given + String URL = "http://127.0.0.1/ejbca/publicweb/cmp/cmp"; + + //when + boolean result = validator.isValid(URL, null); + + //then + assertTrue(result); + } + + @Test + public void givenIncorrectURLWhenValidatingShouldReturnFalse() { + //given + String URL = "httttp://127.0.0.1:80000/ejbca/publicweb/cmp/cmp"; + + //when + boolean result = validator.isValid(URL, null); + + //then + assertFalse(result); + } +}
\ No newline at end of file diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java new file mode 100644 index 00000000..8ae4cd88 --- /dev/null +++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java @@ -0,0 +1,76 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + + +package org.onap.aaf.certservice.certification.configuration.validation.constraints.violations; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class PortNumberViolationTest { + + private PortNumberViolation violation = new PortNumberViolation(); + + @Test + public void givenValidPortShouldReturnTrue() { + //given + String validURL1 = "http://127.0.0.1:8080/ejbca/publicweb/cmp/cmp"; + String validURL2 = "http://127.0.0.1:1/ejbca/publicweb/cmp/cmp"; + String validURL3 = "http://127.0.0.1:65535/ejbca/publicweb/cmp/cmp"; + + //when + boolean result1 = violation.validate(validURL1); + boolean result2 = violation.validate(validURL2); + boolean result3 = violation.validate(validURL3); + + //then + assertTrue(result1); + assertTrue(result2); + assertTrue(result3); + } + + @Test + public void givenEmptyPortShouldReturnTrue() { + //given + String validURL = "http://127.0.0.1/ejbca/publicweb/cmp/cmp"; + + //when + boolean result = violation.validate(validURL); + + //then + assertTrue(result); + } + + @Test + public void givenInvalidPortShouldReturnFalse() { + //given + String invalidURL1 = "http://127.0.0.1:0/ejbca/publicweb/cmp/cmp"; + String invalidURL2 = "http://127.0.0.1:65536/ejbca/publicweb/cmp/cmp"; + + //when + boolean result1 = violation.validate(invalidURL1); + boolean result2 = violation.validate(invalidURL2); + + //then + assertFalse(result1); + assertFalse(result2); + } +}
\ No newline at end of file diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java new file mode 100644 index 00000000..9e220560 --- /dev/null +++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java @@ -0,0 +1,54 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration.validation.constraints.violations; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class RequestTypeViolationTest { + + private RequestTypeViolation violation = new RequestTypeViolation(); + + @Test + public void givenValidRequestTypeShouldReturnTrue() { + //given + String validURL = "http://127.0.0.1/ejbca/publicweb/cmp/cmp"; + + //when + boolean result = violation.validate(validURL); + + //then + assertTrue(result); + } + + @Test + public void givenInvalidRequestTypeShouldReturnFalse() { + //given + String invalidURL = "htestps://127.0.0.1/ejbca/publicweb/cmp/cmp"; + + //when + boolean result = violation.validate(invalidURL); + + //then + assertFalse(result); + } +}
\ No newline at end of file |