* ============LICENSE_END=========================================================
*/
-package org.onap.oom.truststoremerger.certification.path;
+package org.onap.oom.truststoremerger.configuration.path;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+import static org.mockito.Mockito.when;
+import static org.onap.oom.truststoremerger.api.ConfigurationEnvs.TRUSTSTORES_PASSWORDS_PATHS_ENV;
+import static org.onap.oom.truststoremerger.api.ConfigurationEnvs.TRUSTSTORES_PATHS_ENV;
+
+import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-
-import java.util.Optional;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
-import static org.mockito.Mockito.when;
-import static org.onap.oom.truststoremerger.api.ConfigurationEnvs.TRUSTSTORES_PATHS_ENV;
-import static org.onap.oom.truststoremerger.api.ConfigurationEnvs.TRUSTSTORES_PASSWORDS_PATHS_ENV;
+import org.onap.oom.truststoremerger.configuration.exception.TruststoresPathsProviderException;
@ExtendWith(MockitoExtension.class)
private static final String VALID_TRUSTSTORES = "/opt/app/certificates/truststore.jks:/opt/app/certificates/truststore.pem";
private static final String VALID_TRUSTSTORES_PASSWORDS = "/opt/app/certificates/truststore.pass:";
+ private static final String VALID_TRUSTSTORES_PASSWORDS_WITH_EMPTY_IN_THE_MIDDLE = "/opt/app/certificates/truststore.pass::/etc/truststore.pass";
private static final String INVALID_TRUSTSTORES = "/opt/app/certificates/truststore.jks:/opt/app/certificates/truststore.invalid";
private static final String INVALID_TRUSTSTORES_PASSWORDS = "/opt/app/certificates/truststore.pass:/.pass";
mockTruststoresEnv(VALID_TRUSTSTORES);
assertThat(truststoresPathsProvider.getTruststores())
- .contains("/opt/app/certificates/truststore.jks",
- "/opt/app/certificates/truststore.pem");
+ .containsSequence("/opt/app/certificates/truststore.jks",
+ "/opt/app/certificates/truststore.pem");
}
@Test
mockTruststoresPasswordsEnv(VALID_TRUSTSTORES_PASSWORDS);
assertThat(truststoresPathsProvider.getTruststoresPasswords())
- .contains("/opt/app/certificates/truststore.pass",
- "");
+ .containsSequence("/opt/app/certificates/truststore.pass", "");
+ }
+
+ @Test
+ void shouldReturnCorrectListWhenTruststoresPasswordsContainsEmptyPathsInTheMiddle()
+ throws TruststoresPathsProviderException {
+ mockTruststoresPasswordsEnv(VALID_TRUSTSTORES_PASSWORDS_WITH_EMPTY_IN_THE_MIDDLE);
+
+ assertThat(truststoresPathsProvider.getTruststoresPasswords()).containsSequence(
+ "/opt/app/certificates/truststore.pass",
+ "",
+ "/etc/truststore.pass"
+ );
}
@Test
mockTruststoresEnv("");
assertThatExceptionOfType(TruststoresPathsProviderException.class)
- .isThrownBy(truststoresPathsProvider::getTruststores);
+ .isThrownBy(truststoresPathsProvider::getTruststores);
}
@Test
mockTruststoresEnv(INVALID_TRUSTSTORES);
assertThatExceptionOfType(TruststoresPathsProviderException.class)
- .isThrownBy(truststoresPathsProvider::getTruststores);
+ .isThrownBy(truststoresPathsProvider::getTruststores);
}
@Test
mockTruststoresPasswordsEnv(INVALID_TRUSTSTORES_PASSWORDS);
assertThatExceptionOfType(TruststoresPathsProviderException.class)
- .isThrownBy(truststoresPathsProvider::getTruststoresPasswords);
+ .isThrownBy(truststoresPathsProvider::getTruststoresPasswords);
}
private void mockTruststoresEnv(String truststores) {
}
private void mockEnv(String envValue, String envName) {
- when(envProvider.getEnv(envName))
- .thenReturn(Optional.of(envValue));
+ when(envProvider.getEnv(envName)).thenReturn(Optional.of(envValue));
}
}