diff options
author | IanHowell <ian.howell@att.com> | 2018-04-17 08:17:47 -0500 |
---|---|---|
committer | IanHowell <ian.howell@att.com> | 2018-04-17 08:18:42 -0500 |
commit | 0b8d6377d7d67800f5059d56352c017f712ccbc2 (patch) | |
tree | 6fae08448529453c067e502763587da36d2f0fad /cadi/core | |
parent | 3726a143ad0cd0416e0aa8e1b1a3dc654e733dc7 (diff) |
Improve coverage of Cadi
Improved coverage of tests in cadi-core, cadi-aaf, and cadi-client
Issue-ID: AAF-128
Change-Id: Ie7df52ede1586d127098937f8d42cc6314e7eaa7
Signed-off-by: IanHowell <ian.howell@att.com>
Diffstat (limited to 'cadi/core')
-rw-r--r-- | cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_AES.java | 2 | ||||
-rw-r--r-- | cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_CmdLine.java | 27 | ||||
-rw-r--r-- | cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_PropAccess.java | 2 | ||||
-rw-r--r-- | cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_Symm.java | 2 | ||||
-rw-r--r-- | cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java | 140 | ||||
-rw-r--r-- | cadi/core/src/test/java/org/onap/aaf/cadi/test/wsse/JU_XReader.java | 2 | ||||
-rw-r--r-- | cadi/core/src/test/resources/AESKeyFile (renamed from cadi/core/test/AESKeyFile) | 0 | ||||
-rw-r--r-- | cadi/core/src/test/resources/CBUSevent.xml (renamed from cadi/core/test/CBUSevent.xml) | 0 | ||||
-rw-r--r-- | cadi/core/src/test/resources/cadi.properties (renamed from cadi/core/test/cadi.properties) | 0 | ||||
-rw-r--r-- | cadi/core/src/test/resources/cadi.properties.duplicate (renamed from cadi/core/test/cadi.properties.duplicate) | 0 | ||||
-rw-r--r-- | cadi/core/src/test/resources/keyfile (renamed from cadi/core/test/keyfile) | 0 |
11 files changed, 146 insertions, 29 deletions
diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_AES.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_AES.java index f872a56b..d78706dc 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_AES.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_AES.java @@ -104,7 +104,7 @@ public class JU_AES { @Test public void saveToFileTest() throws Exception { - String filePath = "test/output_key"; + String filePath = "src/test/resources/output_key"; File keyfile = new File(filePath); aes.save(keyfile); assertTrue(Files.isReadable(Paths.get(filePath))); diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_CmdLine.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_CmdLine.java index b2820db2..31e5d32c 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_CmdLine.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_CmdLine.java @@ -21,18 +21,15 @@ ******************************************************************************/ package org.onap.aaf.cadi.test; -import static org.mockito.Matchers.*; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import org.junit.*; import org.mockito.*; -import static org.mockito.Mockito.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; @@ -43,7 +40,6 @@ import java.util.Properties; import org.onap.aaf.cadi.CmdLine; import org.onap.aaf.cadi.PropAccess; import org.onap.aaf.cadi.Symm; -import org.onap.aaf.cadi.util.Chmod; public class JU_CmdLine { @@ -69,29 +65,10 @@ public class JU_CmdLine { p.setProperty("force_exit", "false"); CmdLine.access = new PropAccess(p); - File test = new File("test"); - if(test.exists()) { - if(!test.isDirectory()) { - test.delete(); - test.mkdirs(); - } - } else { - test.mkdirs(); - } - - File keyF= new File(test,"keyfile"); - if(!keyF.exists()) { - FileOutputStream fos = new FileOutputStream(keyF); - try { - fos.write(Symm.keygen()); - fos.flush(); - } finally { - fos.close(); - } - } - keyfile = "test/keyfile"; + keyfile = "src/test/resources/keyfile"; password = "password"; + File keyF = new File("src/test/resources", "keyfile"); FileInputStream fis = new FileInputStream(keyF); try { symm = Symm.obtain(fis); diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_PropAccess.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_PropAccess.java index d74648a4..7b5da6c1 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_PropAccess.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_PropAccess.java @@ -72,7 +72,7 @@ public class JU_PropAccess { Properties testSystemProps = new Properties(System.getProperties()); testSystemProps.setProperty("cadi_name", "user"); System.setProperties(testSystemProps); - PropAccess prop = new PropAccess("cadi_keyfile=test/keyfile", "cadi_loglevel=DEBUG", "cadi_prop_files=test/cadi.properties:not_a_file"); + PropAccess prop = new PropAccess("cadi_keyfile=src/test/resources/keyfile", "cadi_loglevel=DEBUG", "cadi_prop_files=test/cadi.properties:not_a_file"); } @Test diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_Symm.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_Symm.java index 57cc2229..753451ed 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_Symm.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_Symm.java @@ -190,7 +190,7 @@ public class JU_Symm { @Test public void AccessObtainTest() throws Exception { - PropAccess pa = new PropAccess("cadi_keyfile=test/keyfile"); + PropAccess pa = new PropAccess("cadi_keyfile=src/test/resources/keyfile"); Symm symm = Symm.obtain(pa); String orig ="Another Password, please"; String encrypted = symm.enpass(orig); diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java new file mode 100644 index 00000000..f6e366a7 --- /dev/null +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java @@ -0,0 +1,140 @@ +/******************************************************************************* + * * org.onap.aaf + * * =========================================================================== + * * Copyright © 2017 AT&T Intellectual Property. 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.cadi.test.config; + +import static org.junit.Assert.*; +import static org.hamcrest.CoreMatchers.*; +import static org.mockito.Mockito.*; +import org.junit.*; +import org.mockito.*; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.PrintStream; + +import org.onap.aaf.cadi.AbsUserCache; +import org.onap.aaf.cadi.PropAccess; +import org.onap.aaf.cadi.config.UsersDump; +import org.onap.aaf.cadi.lur.LocalLur; +import org.onap.aaf.cadi.lur.LocalPermission; +import org.onap.aaf.cadi.util.Split; + +public class JU_UsersDump { + + private ByteArrayOutputStream outStream; + private ByteArrayOutputStream stdoutSuppressor; + + private static final String expected = "<?xml version='1.0' encoding='utf-8'?>\n" + + "<!--\n" + + " Code Generated Tomcat Users and Roles from AT&T LUR on ...\n" + + "-->\n" + + "<tomcat-users>\n" + + " <role rolename=\"suser\"/>\n" + + " <role rolename=\"admin\"/>\n" + + " <role rolename=\"groupB\"/>\n" + + " <role rolename=\"groupA\"/>\n" + + " \n" + + " <user username=\"yourname@none\" roles=\"admin\"/>\n" + + " <user username=\"m1234@none\" roles=\"suser\"/>\n" + + " <user username=\"hisname@none\" roles=\"suser\"/>\n" + + " <user username=\"hername@none\" roles=\"suser\"/>\n" + + " <user username=\"myname\" roles=\"groupB,groupA\"/>\n" + + " <user username=\"myname@none\" roles=\"admin\"/>\n" + + "</tomcat-users>\n"; + + private final static String groups = "myname:groupA,groupB"; + private final static String names = "admin:myname,yourname;suser:hisname,hername,m1234"; + + private AbsUserCache<LocalPermission> lur; + + @Before + public void setup() throws IOException { + outStream = new ByteArrayOutputStream(); + stdoutSuppressor = new ByteArrayOutputStream(); + + System.setOut(new PrintStream(stdoutSuppressor)); + + lur = new LocalLur(new PropAccess(), groups, names); + } + + @After + public void tearDown() { + System.setOut(System.out); + } + + @Test + public void writeTest() throws IOException { + UsersDump.write(outStream, lur); + String[] actualLines = Split.splitTrim('\n', outStream.toString()); + String[] expectedLines = Split.splitTrim('\n', expected); + + assertThat(actualLines.length, is(expectedLines.length)); + + // Check that the output starts with an XML tag + assertThat(actualLines[0], is(expectedLines[0])); + // Check that lines 2-4 are a comment + assertThat(actualLines[1], is(expectedLines[1])); + assertThat(actualLines[3], is(expectedLines[3])); + + // Check that the rest of the output matches the expected output + for (int i = 4; i < actualLines.length; i++) { + assertThat(actualLines[i], is(expectedLines[i])); + } + + // Run the test again with outStream as a PrintStream (for coverage) + outStream.reset(); + UsersDump.write(new PrintStream(outStream), lur); + actualLines = Split.splitTrim('\n', outStream.toString()); + + assertThat(actualLines.length, is(expectedLines.length)); + + // Check that the output starts with an XML tag + assertThat(actualLines[0], is(expectedLines[0])); + // Check that lines 2-4 are a comment + assertThat(actualLines[1], is(expectedLines[1])); + assertThat(actualLines[3], is(expectedLines[3])); + + // Check that the rest of the output matches the expected output + for (int i = 4; i < actualLines.length; i++) { + assertThat(actualLines[i], is(expectedLines[i])); + } + } + + @Test + public void updateUsersTest() { + String output; + File outputFile = new File("src/test/resources/userdump.xml"); + assertThat(outputFile.exists(), is(false)); + + output = UsersDump.updateUsers("src/test/resources/userdump.xml", (LocalLur) lur); + assertThat(output, is(nullValue())); + assertThat(outputFile.exists(), is(true)); + + output = UsersDump.updateUsers("src/test/resources/userdump.xml", (LocalLur) lur); + assertThat(output, is(nullValue())); + assertThat(outputFile.exists(), is(true)); + + outputFile.delete(); + } + +} diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/wsse/JU_XReader.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/wsse/JU_XReader.java index b07cd296..dd90e220 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/test/wsse/JU_XReader.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/test/wsse/JU_XReader.java @@ -39,7 +39,7 @@ import org.onap.aaf.cadi.wsse.XReader; public class JU_XReader { - private final static String TEST_DIR_NAME = "test"; + private final static String TEST_DIR_NAME = "src/test/resources"; private final static String TEST_XML_NAME = "test.xml"; private static File testXML; diff --git a/cadi/core/test/AESKeyFile b/cadi/core/src/test/resources/AESKeyFile index 35795c34..35795c34 100644 --- a/cadi/core/test/AESKeyFile +++ b/cadi/core/src/test/resources/AESKeyFile diff --git a/cadi/core/test/CBUSevent.xml b/cadi/core/src/test/resources/CBUSevent.xml index 15fc5f22..15fc5f22 100644 --- a/cadi/core/test/CBUSevent.xml +++ b/cadi/core/src/test/resources/CBUSevent.xml diff --git a/cadi/core/test/cadi.properties b/cadi/core/src/test/resources/cadi.properties index b84509b2..b84509b2 100644 --- a/cadi/core/test/cadi.properties +++ b/cadi/core/src/test/resources/cadi.properties diff --git a/cadi/core/test/cadi.properties.duplicate b/cadi/core/src/test/resources/cadi.properties.duplicate index 03c04d02..03c04d02 100644 --- a/cadi/core/test/cadi.properties.duplicate +++ b/cadi/core/src/test/resources/cadi.properties.duplicate diff --git a/cadi/core/test/keyfile b/cadi/core/src/test/resources/keyfile index e84bd616..e84bd616 100644 --- a/cadi/core/test/keyfile +++ b/cadi/core/src/test/resources/keyfile |