Merge "[OOM CERT-SERVICE-API] Add support for URI, IP, E-mail in SANs"
[oom/platform/cert-service.git] / certServiceClient / src / test / java / org / onap / oom / certservice / client / configuration / validation / BasicValidationFunctionsTest.java
1 /*
2  * ============LICENSE_START=======================================================
3  * oom-certservice-client
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.client.configuration.validation;
22
23 import static org.assertj.core.api.Assertions.assertThat;
24 import static org.onap.oom.certservice.client.configuration.validation.BasicValidationFunctions.isAlphaNumeric;
25 import static org.onap.oom.certservice.client.configuration.validation.BasicValidationFunctions.isCountryValid;
26 import static org.onap.oom.certservice.client.configuration.validation.BasicValidationFunctions.isPathValid;
27
28 import org.junit.jupiter.params.ParameterizedTest;
29 import org.junit.jupiter.params.provider.ValueSource;
30
31 class BasicValidationFunctionsTest {
32
33     @ParameterizedTest
34     @ValueSource(strings = {"/var/log", "/", "/var/log/", "/second_var", "/second-var"})
35     void shouldAcceptValidPath(String path) {
36         assertThat(isPathValid(path)).isTrue();
37     }
38
39     @ParameterizedTest
40     @ValueSource(strings = {"/var/log?", "", "var_", "var", "//", "/var//log"})
41     void shouldRejectInvalidPath(String path) {
42         assertThat(isPathValid(path)).isFalse();
43     }
44
45     @ParameterizedTest
46     @ValueSource(strings = {"PL", "DE", "PN", "US", "IO", "CA", "KH", "CO", "DK", "EC", "CZ", "CN", "BR", "BD", "BE"})
47     void shouldAcceptValidCountryCode(String countryCode) {
48         assertThat(isCountryValid(countryCode)).isTrue();
49     }
50
51     @ParameterizedTest
52     @ValueSource(strings = {"", "QQ", "AFG", "D", "&*", "!", "ONAP", "p", "pl", "us", "afg"})
53     void shouldRejectInvalidCountryCode(String countryCode) {
54         assertThat(isCountryValid(countryCode)).isFalse();
55     }
56
57     @ParameterizedTest
58     @ValueSource(strings = {"caname", "caname1", "123caName", "ca1name"})
59     void shouldAcceptValidAlphanumeric(String caName) {
60         assertThat(isAlphaNumeric(caName)).isTrue();
61     }
62
63     @ParameterizedTest
64     @ValueSource(strings = {"44caname$", "#caname1", "1c_aname", "ca1-name"})
65     void shouldRejectInvalidAlphanumeric(String caName) {
66         assertThat(isAlphaNumeric(caName)).isFalse();
67     }
68
69 }