2  * ============LICENSE_START=======================================================
 
   3  * aaf-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
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  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=========================================================
 
  21 package org.onap.aaf.certservice.client.configuration.factory;
 
  23 import org.junit.jupiter.params.ParameterizedTest;
 
  24 import org.junit.jupiter.params.provider.ValueSource;
 
  25 import org.mockito.Mockito;
 
  27 import static org.assertj.core.api.Assertions.assertThat;
 
  28 import static org.mockito.Mockito.mock;
 
  30 class AbstractConfigurationFactoryTest {
 
  32     private final AbstractConfigurationFactory cut = mock(AbstractConfigurationFactory.class, Mockito.CALLS_REAL_METHODS);
 
  35     @ValueSource(strings = {"/var/log", "/", "/var/log/", "/second_var", "/second-var"})
 
  36     void shouldAcceptValidPath(String path) {
 
  37         assertThat(cut.isPathValid(path)).isTrue();
 
  41     @ValueSource(strings = {"/var/log?", "", "var_", "var", "//", "/var//log"})
 
  42     void shouldRejectInvalidPath(String path) {
 
  43         assertThat(cut.isPathValid(path)).isFalse();
 
  47     @ValueSource(strings = {"PL", "DE", "PN", "US", "IO", "CA", "KH", "CO", "DK", "EC", "CZ", "CN", "BR", "BD", "BE"})
 
  48     void shouldAcceptValidCountryCode(String countryCode) {
 
  49         assertThat(cut.isCountryValid(countryCode)).isTrue();
 
  53     @ValueSource(strings = {"", "QQ", "AFG", "D", "&*", "!", "ONAP", "p", "pl", "us", "afg"})
 
  54     void shouldRejectInvalidCountryCode(String countryCode) {
 
  55         assertThat(cut.isCountryValid(countryCode)).isFalse();
 
  59     @ValueSource(strings = {"caname", "caname1", "123caName", "ca1name"})
 
  60     void shouldAcceptValidAlphanumeric(String caName) {
 
  61         assertThat(cut.isAlphaNumeric(caName)).isTrue();
 
  65     @ValueSource(strings = {"44caname$", "#caname1", "1c_aname", "ca1-name"})
 
  66     void shouldRejectInvalidAlphanumeric(String caName) {
 
  67         assertThat(cut.isAlphaNumeric(caName)).isFalse();
 
  71     @ValueSource(strings = {"example.com", "www.example.com"})
 
  72     void shouldAcceptValidCommonName(String commonName) {
 
  73         assertThat(cut.isCommonNameValid(commonName)).isTrue();
 
  77     @ValueSource(strings = {"https://example.com", "http://example.com", "example.com:8080", "0.0.0.0", "@#$%.com"})
 
  78     void shouldRejectInvalidCommonName(String commonName) {
 
  79         assertThat(cut.isCommonNameValid(commonName)).isFalse();
 
  83     @ValueSource(strings = {"JKS", "P12", "PEM"})
 
  84     void shouldAcceptValidOutputType(String outputType) {
 
  85         assertThat(cut.isOutputTypeValid(outputType)).isTrue();
 
  89     @ValueSource(strings = {"jks", "p12", "pem", "", "pass", "!@$#pp"})
 
  90     void shouldRejectInvalidOutputType(String outputType) {
 
  91         assertThat(cut.isOutputTypeValid(outputType)).isFalse();