diff options
author | mark.j.leonard <mark.j.leonard@gmail.com> | 2019-02-15 11:30:00 +0000 |
---|---|---|
committer | mark.j.leonard <mark.j.leonard@gmail.com> | 2019-02-15 17:11:43 +0000 |
commit | 66372969d78dde14097209808358479635c0e8d0 (patch) | |
tree | f96c54a92604472157393bca4ff2f700b9074d62 /src/test/java/org/onap | |
parent | 209cd56d7f2f885a94fc5f937c4376fc0ffbd922 (diff) |
Create Application tests for KEY_STORE_PASSWORD
Add a dummy keystore file for testing exceptions relating to opening the
key store (for the server cert) with an incorrect password.
This is intended to increase code coverage.
Make AAIMicroServiceAuthCore non-static to avoid some issues with Spring
initialization.
Change-Id: Ic512bd0934210fb016da9731e65ec0d858fa4ff7
Issue-ID: AAI-2057
Signed-off-by: mark.j.leonard <mark.j.leonard@gmail.com>
Diffstat (limited to 'src/test/java/org/onap')
-rw-r--r-- | src/test/java/org/onap/aai/validation/TestApplication.java | 41 | ||||
-rw-r--r-- | src/test/java/org/onap/aai/validation/auth/MicroServiceAuthTest.java | 31 |
2 files changed, 53 insertions, 19 deletions
diff --git a/src/test/java/org/onap/aai/validation/TestApplication.java b/src/test/java/org/onap/aai/validation/TestApplication.java index 3dfa177..9f66df9 100644 --- a/src/test/java/org/onap/aai/validation/TestApplication.java +++ b/src/test/java/org/onap/aai/validation/TestApplication.java @@ -20,6 +20,9 @@ */ package org.onap.aai.validation; +import java.io.IOException; +import org.hamcrest.Description; +import org.hamcrest.TypeSafeMatcher; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -33,7 +36,7 @@ import org.springframework.test.context.TestPropertySource; * */ @SpringBootTest(classes = ValidationServiceApplication.class) -@TestPropertySource(locations = {"classpath:oxm-reader/schemaIngest.properties", "classpath:application.properties"}) +@TestPropertySource(locations = {"classpath:oxm-reader/schemaIngest.properties", "classpath:test-application.properties"}) @ContextConfiguration(locations = {"classpath:validation-service-beans.xml"}) public class TestApplication { @@ -63,4 +66,40 @@ public class TestApplication { ValidationServiceApplication.main(new String[] {}); } + @Test + public void testApplicationWithEmptyKeyStorePassword() { + System.setProperty("KEY_STORE_PASSWORD", ""); + final CauseMatcher expectedCause = new CauseMatcher(IOException.class, "password was incorrect"); + expectedEx.expectCause(expectedCause); + ValidationServiceApplication.main(new String[] {}); + } + + @Test + public void testApplicationWithIncorrectKeyStorePassword() { + System.setProperty("KEY_STORE_PASSWORD", "test"); + final CauseMatcher expectedCause = new CauseMatcher(IOException.class, "password was incorrect"); + expectedEx.expectCause(expectedCause); + ValidationServiceApplication.main(new String[] {}); + } + + private static class CauseMatcher extends TypeSafeMatcher<Throwable> { + + private final Class<? extends Throwable> type; + private final String expectedMessage; + + public CauseMatcher(Class<? extends Throwable> type, String expectedMessage) { + this.type = type; + this.expectedMessage = expectedMessage; + } + + @Override + protected boolean matchesSafely(Throwable item) { + return item.getClass().isAssignableFrom(type) && item.getMessage().contains(expectedMessage); + } + + @Override + public void describeTo(Description description) { + description.appendValue(type).appendText(" and message ").appendValue(expectedMessage); + } + } } diff --git a/src/test/java/org/onap/aai/validation/auth/MicroServiceAuthTest.java b/src/test/java/org/onap/aai/validation/auth/MicroServiceAuthTest.java index f9bd177..7217224 100644 --- a/src/test/java/org/onap/aai/validation/auth/MicroServiceAuthTest.java +++ b/src/test/java/org/onap/aai/validation/auth/MicroServiceAuthTest.java @@ -1,7 +1,10 @@ -/* - * ============LICENSE_START=================================================== - * Copyright (c) 2018 Amdocs - * ============================================================================ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2018-2019 European Software Marketing Ltd. + * ================================================================================ * 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 @@ -13,8 +16,9 @@ * 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===================================================== + * ============LICENSE_END========================================================= */ + package org.onap.aai.validation.auth; import static org.hamcrest.CoreMatchers.equalTo; @@ -35,19 +39,16 @@ import org.junit.Test; import org.mockito.Mockito; import org.onap.aai.auth.AAIAuthException; import org.onap.aai.auth.AAIMicroServiceAuth; -import org.onap.aai.auth.AAIMicroServiceAuthCore; import org.onap.aai.validation.config.ValidationServiceAuthConfig; import org.springframework.mock.web.MockHttpServletRequest; /** * Tests @{link AAIMicroServiceAuth} */ - public class MicroServiceAuthTest { static { - System.setProperty("APP_HOME", "."); - System.setProperty("CONFIG_HOME", Paths.get(System.getProperty("user.dir"), "src/test/resources").toString()); + System.setProperty("CONFIG_HOME", Paths.get("src/test/resources").toString()); } private static final String VALID_ADMIN_USER = "cn=common-name, ou=org-unit, o=org, l=location, st=state, c=us"; @@ -62,15 +63,9 @@ public class MicroServiceAuthTest { */ @Test(expected = AAIAuthException.class) public void missingPolicyFile() throws AAIAuthException, IOException { - String defaultFile = AAIMicroServiceAuthCore.getDefaultAuthFileName(); - try { - AAIMicroServiceAuthCore.setDefaultAuthFileName("invalid.default.file"); - ValidationServiceAuthConfig authConfig = new ValidationServiceAuthConfig(); - authConfig.setAuthPolicyFile("invalid.file.name"); - new AAIMicroServiceAuth(authConfig); - } finally { - AAIMicroServiceAuthCore.setDefaultAuthFileName(defaultFile); - } + ValidationServiceAuthConfig authConfig = new ValidationServiceAuthConfig(); + authConfig.setAuthPolicyFile("invalid.file.name"); + new AAIMicroServiceAuth(authConfig); } /** |