Improve code coverage for aaf cadi  modules

INcluded new test case

Issue-ID: AAF-79
Change-Id: I6edba798b1b3f7f37a9f51bc3f2c65aa16a959c4
Signed-off-by: sg481n <sg481n@att.com>
diff --git a/core/src/test/java/org/onap/aaf/cadi/JU_AES.java b/core/src/test/java/org/onap/aaf/cadi/JU_AES.java
index 4779f09..50c4f27 100644
--- a/core/src/test/java/org/onap/aaf/cadi/JU_AES.java
+++ b/core/src/test/java/org/onap/aaf/cadi/JU_AES.java
@@ -34,6 +34,23 @@
 

 import junit.framework.Assert;

 

+import static org.junit.Assert.assertFalse;

+import static org.junit.Assert.assertTrue;

+

+import java.io.ByteArrayInputStream;

+import java.io.ByteArrayOutputStream;

+import java.io.File;

+import java.io.OutputStream;

+

+import javax.crypto.CipherInputStream;

+import javax.crypto.CipherOutputStream;

+

+import org.junit.Test;

+import org.onap.aaf.cadi.AES;

+import org.onap.aaf.cadi.Symm;

+

+import junit.framework.Assert;

+

 public class JU_AES {

 

 	@Test

@@ -49,6 +66,33 @@
 		passin = aes.decrypt(encrypted);

 		Assert.assertEquals(orig, new String(passin));

 	}

+	

+	@Test

+	public void testAESFileStream() throws Exception {

+		File fi = new File("test/AESKeyFile");

+		AES aes = new AES(fi);

+		

+		String orig = "I'm a password, really";

+		byte[] passin = orig.getBytes();

+		byte[] encrypted = aes.encrypt(passin);

+		byte[] b64enc = Symm.base64.encode(encrypted);

+		System.out.println(new String(b64enc));

+		

+		encrypted = Symm.base64.decode(b64enc);

+		passin = aes.decrypt(encrypted);

+		Assert.assertEquals(orig, new String(passin));

+		

+		File temp = new File("tempFile");

+		try {

+			assertFalse(temp.exists());

+			aes.save(temp);

+			assertTrue(temp.exists());

+		} catch (Exception e) {

+		} finally {

+			temp.delete();

+		}		

+		

+	}

 

 	@Test

 	public void testInputStream() throws Exception {

@@ -62,13 +106,24 @@
 

 		byte[] b64encrypted;

 		System.out.println(new String(b64encrypted=baos.toByteArray()));

-		

+

+		CipherInputStream cis1 = aes.inputStream(bais, false);

+		ByteArrayOutputStream baos1 = new ByteArrayOutputStream();

+		Symm.base64.encode(cis1, baos1);

+		cis.close();

+

+		byte[] b64encrypted1;

+		System.out.println(new String(b64encrypted1=baos1.toByteArray()));

 		

 		baos.reset();

 		CipherOutputStream cos = aes.outputStream(baos, false);

 		Symm.base64.decode(new ByteArrayInputStream(b64encrypted),cos);

 		cos.close();

 		Assert.assertEquals(orig, new String(baos.toByteArray()));

+		

+		OutputStream stream = aes.outputStream(System.out, true);

+		assertTrue(stream instanceof CipherOutputStream);

+

 	}

 

 	@Test

@@ -88,7 +143,7 @@
 	@Test

 	public void test1() throws Exception {

 		AES aes = new AES();

-		String orig = "I'm a password, really Cool";

+		String orig = "I'm a password, really";

 		byte[] passin = orig.getBytes();

 		byte[] encrypted = aes.encrypt(passin);

 		byte[] b64enc = Symm.base64.encode(encrypted);

@@ -98,11 +153,38 @@
 		passin = aes.decrypt(encrypted);

 		Assert.assertEquals(orig, new String(passin));

 	}

+	

+	@Test

+	public void testAESFileStream1() throws Exception {

+		File fi = new File("test/AESKeyFile");

+		AES aes = new AES(fi);

+		

+		String orig = "I'm a password, really";

+		byte[] passin = orig.getBytes();

+		byte[] encrypted = aes.encrypt(passin);

+		byte[] b64enc = Symm.base64.encode(encrypted);

+		System.out.println(new String(b64enc));

+		

+		encrypted = Symm.base64.decode(b64enc);

+		passin = aes.decrypt(encrypted);

+		Assert.assertEquals(orig, new String(passin));

+		

+		File temp = new File("tempFile");

+		try {

+			assertFalse(temp.exists());

+			aes.save(temp);

+			assertTrue(temp.exists());

+		} catch (Exception e) {

+		} finally {

+			temp.delete();

+		}		

+		

+	}

 

 	@Test

 	public void testInputStream1() throws Exception {

 		AES aes = new AES();

-		String orig = "I'm a password, really cool";

+		String orig = "I'm a password, really";

 		ByteArrayInputStream bais = new ByteArrayInputStream(orig.getBytes());

 		CipherInputStream cis = aes.inputStream(bais, true);

 		ByteArrayOutputStream baos = new ByteArrayOutputStream();

@@ -111,13 +193,24 @@
 

 		byte[] b64encrypted;

 		System.out.println(new String(b64encrypted=baos.toByteArray()));

-		

+

+		CipherInputStream cis1 = aes.inputStream(bais, false);

+		ByteArrayOutputStream baos1 = new ByteArrayOutputStream();

+		Symm.base64.encode(cis1, baos1);

+		cis.close();

+

+		byte[] b64encrypted1;

+		System.out.println(new String(b64encrypted1=baos1.toByteArray()));

 		

 		baos.reset();

 		CipherOutputStream cos = aes.outputStream(baos, false);

 		Symm.base64.decode(new ByteArrayInputStream(b64encrypted),cos);

 		cos.close();

 		Assert.assertEquals(orig, new String(baos.toByteArray()));

+		

+		OutputStream stream = aes.outputStream(System.out, true);

+		assertTrue(stream instanceof CipherOutputStream);

+

 	}

 

 	@Test

@@ -126,112 +219,11 @@
 		

 		Symm symm = Symm.obtain(new ByteArrayInputStream(keygen));

 		

-		String orig ="Another Password, please cool";

+		String orig ="Another Password, please";

 		String encrypted = symm.enpass(orig);

 		System.out.println(encrypted);

 		String decrypted = symm.depass(encrypted);

 		System.out.println(decrypted);

 		Assert.assertEquals(orig, decrypted);

 	}

-

-	

-	@Test

-	public void test2() throws Exception {

-		AES aes = new AES();

-		String orig = "I'm a password, really Nice";

-		byte[] passin = orig.getBytes();

-		byte[] encrypted = aes.encrypt(passin);

-		byte[] b64enc = Symm.base64.encode(encrypted);

-		System.out.println(new String(b64enc));

-		

-		encrypted = Symm.base64.decode(b64enc);

-		passin = aes.decrypt(encrypted);

-		Assert.assertEquals(orig, new String(passin));

-	}

-

-	@Test

-	public void testInputStream2() throws Exception {

-		AES aes = new AES();

-		String orig = "I'm a password, really Nice";

-		ByteArrayInputStream bais = new ByteArrayInputStream(orig.getBytes());

-		CipherInputStream cis = aes.inputStream(bais, true);

-		ByteArrayOutputStream baos = new ByteArrayOutputStream();

-		Symm.base64.encode(cis, baos);

-		cis.close();

-

-		byte[] b64encrypted;

-		System.out.println(new String(b64encrypted=baos.toByteArray()));

-		

-		

-		baos.reset();

-		CipherOutputStream cos = aes.outputStream(baos, false);

-		Symm.base64.decode(new ByteArrayInputStream(b64encrypted),cos);

-		cos.close();

-		Assert.assertEquals(orig, new String(baos.toByteArray()));

-	}

-

-	@Test

-	public void testObtain2() throws Exception {

-		byte[] keygen = Symm.baseCrypt().keygen();

-		

-		Symm symm = Symm.obtain(new ByteArrayInputStream(keygen));

-		

-		String orig ="Another Password, please Nice";

-		String encrypted = symm.enpass(orig);

-		System.out.println(encrypted);

-		String decrypted = symm.depass(encrypted);

-		System.out.println(decrypted);

-		Assert.assertEquals(orig, decrypted);

-	}

-

-	

-	@Test

-	public void test3() throws Exception {

-		AES aes = new AES();

-		String orig = "I'm a password, magic";

-		byte[] passin = orig.getBytes();

-		byte[] encrypted = aes.encrypt(passin);

-		byte[] b64enc = Symm.base64.encode(encrypted);

-		System.out.println(new String(b64enc));

-		

-		encrypted = Symm.base64.decode(b64enc);

-		passin = aes.decrypt(encrypted);

-		Assert.assertEquals(orig, new String(passin));

-	}

-

-	@Test

-	public void testInputStream3() throws Exception {

-		AES aes = new AES();

-		String orig = "I'm a password, magic";

-		ByteArrayInputStream bais = new ByteArrayInputStream(orig.getBytes());

-		CipherInputStream cis = aes.inputStream(bais, true);

-		ByteArrayOutputStream baos = new ByteArrayOutputStream();

-		Symm.base64.encode(cis, baos);

-		cis.close();

-

-		byte[] b64encrypted;

-		System.out.println(new String(b64encrypted=baos.toByteArray()));

-		

-		

-		baos.reset();

-		CipherOutputStream cos = aes.outputStream(baos, false);

-		Symm.base64.decode(new ByteArrayInputStream(b64encrypted),cos);

-		cos.close();

-		Assert.assertEquals(orig, new String(baos.toByteArray()));

-	}

-

-	@Test

-	public void testObtain3() throws Exception {

-		byte[] keygen = Symm.baseCrypt().keygen();

-		

-		Symm symm = Symm.obtain(new ByteArrayInputStream(keygen));

-		

-		String orig ="Another Password, magic";

-		String encrypted = symm.enpass(orig);

-		System.out.println(encrypted);

-		String decrypted = symm.depass(encrypted);

-		System.out.println(decrypted);

-		Assert.assertEquals(orig, decrypted);

-	}

-

 }

diff --git a/core/src/test/java/org/onap/aaf/cadi/JU_CadiWrapTest.java b/core/src/test/java/org/onap/aaf/cadi/JU_CadiWrapTest.java
new file mode 100644
index 0000000..da81e0c
--- /dev/null
+++ b/core/src/test/java/org/onap/aaf/cadi/JU_CadiWrapTest.java
@@ -0,0 +1,197 @@
+/*******************************************************************************

+ * ============LICENSE_START====================================================

+ * * 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====================================================

+ * *

+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.

+ * *

+ ******************************************************************************/

+package org.onap.aaf.cadi;

+

+import static org.junit.Assert.*;

+

+import org.junit.Test;

+

+import static org.junit.Assert.*;

+import static org.mockito.Matchers.isA;

+import static org.mockito.Mockito.when;

+

+import java.security.Principal;

+import java.util.List;

+

+import javax.servlet.http.HttpServletRequest;

+

+import org.junit.Before;

+import org.junit.Test;

+import org.mockito.Mock;

+import org.mockito.Mockito;

+import org.mockito.MockitoAnnotations;

+import org.onap.aaf.cadi.CachedPrincipal.Resp;

+import org.onap.aaf.cadi.filter.MapPermConverter;

+import org.onap.aaf.cadi.lur.EpiLur;

+import org.onap.aaf.cadi.taf.TafResp;

+

+public class JU_CadiWrapTest {

+	

+	@Mock

+	private HttpServletRequest request;

+	

+	@Mock

+	private TafResp tafResp;

+	

+	@Mock

+	private Principal principle;

+

+	@Mock

+	private Lur lur;

+

+	@Before

+	public void setUp() throws Exception {

+		MockitoAnnotations.initMocks(this);

+	}

+

+	@Test

+	public void testInstantiate() throws CadiException {

+		Access a = new PropAccess();

+		when(tafResp.getAccess()).thenReturn(a);

+		

+		lur.fishAll(isA(Principal.class), isA(List.class));

+		

+		EpiLur lur1 = new EpiLur(lur);

+		

+		CadiWrap wrap = new CadiWrap(request, tafResp, lur1);

+		

+		assertNull(wrap.getUserPrincipal());

+		assertNull(wrap.getRemoteUser());

+		assertNull(wrap.getUser());

+		assertEquals(wrap.getPermissions(principle).size(), 0);

+		

+		byte[] arr = {'1','2'};

+		wrap.setCred(arr);

+		

+		assertEquals(arr, wrap.getCred());

+		

+		wrap.setUser("User1");

+		assertEquals("User1", wrap.getUser());

+		

+		wrap.invalidate("1");

+

+		assertFalse(wrap.isUserInRole(null));

+		

+		wrap.set(tafResp, lur);

+		

+		wrap.invalidate("2");

+		

+		wrap.isUserInRole("User1");

+	}

+

+	@Test

+	public void testInstantiateWithPermConverter() throws CadiException {

+		Access a = new PropAccess();

+		when(tafResp.getAccess()).thenReturn(a);

+		when(tafResp.getPrincipal()).thenReturn(principle);

+		

+		

+		CachingLur<Permission> lur1 = new CachingLur<Permission>() {

+

+			@Override

+			public Permission createPerm(String p) {

+				// TODO Auto-generated method stub

+				return null;

+			}

+

+			@Override

+			public boolean fish(Principal bait, Permission pond) {

+				// TODO Auto-generated method stub

+				return true;

+			}

+

+			@Override

+			public void fishAll(Principal bait, List<Permission> permissions) {

+				// TODO Auto-generated method stub

+				

+			}

+

+			@Override

+			public void destroy() {

+				// TODO Auto-generated method stub

+				

+			}

+

+			@Override

+			public boolean handlesExclusively(Permission pond) {

+				// TODO Auto-generated method stub

+				return false;

+			}

+

+			@Override

+			public boolean supports(String userName) {

+				// TODO Auto-generated method stub

+				return false;

+			}

+

+			@Override

+			public void remove(String user) {

+				// TODO Auto-generated method stub

+				

+			}

+

+			@Override

+			public Resp reload(User<Permission> user) {

+				// TODO Auto-generated method stub

+				return null;

+			}

+

+			@Override

+			public void setDebug(String commaDelimIDsOrNull) {

+				// TODO Auto-generated method stub

+				

+			}

+

+			@Override

+			public void clear(Principal p, StringBuilder sb) {

+				// TODO Auto-generated method stub

+				

+			}

+		};

+		

+		MapPermConverter pc = new MapPermConverter();

+		

+		CadiWrap wrap = new CadiWrap(request, tafResp, lur1, pc);

+		

+		assertNotNull(wrap.getUserPrincipal());

+		assertNull(wrap.getRemoteUser());

+		assertNull(wrap.getUser());

+		

+		byte[] arr = {'1','2'};

+		wrap.setCred(arr);

+		

+		assertEquals(arr, wrap.getCred());

+		

+		wrap.setUser("User1");

+		assertEquals("User1", wrap.getUser());

+		

+		wrap.invalidate("1");

+		wrap.setPermConverter(new MapPermConverter());

+		

+		assertTrue(wrap.getLur() instanceof CachingLur);

+		assertTrue(wrap.isUserInRole("User1"));

+		

+		wrap.set(tafResp, lur);

+		assertFalse(wrap.isUserInRole("Perm1"));

+	}

+}

diff --git a/core/src/test/java/org/onap/aaf/cadi/test/JU_Passcode.java b/core/src/test/java/org/onap/aaf/cadi/test/JU_Passcode.java
index 40ceaa1..f51b131 100644
--- a/core/src/test/java/org/onap/aaf/cadi/test/JU_Passcode.java
+++ b/core/src/test/java/org/onap/aaf/cadi/test/JU_Passcode.java
@@ -32,6 +32,17 @@
 

 import junit.framework.Assert;

 

+import java.io.ByteArrayOutputStream;

+import java.io.File;

+import java.io.FileInputStream;

+

+import org.junit.AfterClass;

+import org.junit.Test;

+import org.onap.aaf.cadi.CmdLine;

+import org.onap.aaf.cadi.Symm;

+

+import junit.framework.Assert;

+

 public class JU_Passcode {

 	@Test

 	public void test() throws Exception {

@@ -50,6 +61,7 @@
 				symm = Symm.obtain(fis);

 			} finally {

 				fis.close();

+				fi.delete();

 			}

 			String samples[] = {"activevos","ThisIsATestPassword","I have spaces","I have 's, /s and &s and _s"};

 			ByteArrayOutputStream baos;

@@ -85,5 +97,10 @@
 

 

 	}

+	

+	@AfterClass

+	public static void tearDown() {

+		

+	}

 

 }

diff --git a/core/tempkey b/core/tempkey
deleted file mode 100644
index 0b1ba6b..0000000
--- a/core/tempkey
+++ /dev/null
@@ -1,27 +0,0 @@
-a4Ec8sSIn0w1fK5uL-BNBTwRhBGE8PGeJQqZpqS_xGrLqqlEGvgeQLBsBVUpYIBXYSEQLAcmR5Od
-1Jh4eGYGUWgCRlLOLcLDzJSWTOxyfUCBH6fHfYftKY1qFu5YqF75cWAkl8xe9U_iJIBRXhMgoK-Z
-Kzz0wCmGpZgNL-o6-wynfAiuobTomchucJTPzpRtIrw11F9SUCAEyNUEkz_bQAovGul1msyBOeY_
-OjrI0N8h6LeuFzeXhM3on2vXbWVg_tfbfYG4dPFaNXSb0Vj4OyZbx-wFEKNjZFx9SyNbamIEtt_o
-9g_4Ho8L4mNKZZmxfvkalC06Ll8MZYENghRrbPEwFT17ODYrs83_ZU0r1z5iKuSiwccGpfNoNaC7
-OHWaGPijKXxtNHULuv4azSz7sFUSP_fheLs4qf3IJw8qJpQJLbpXnAT9awcCxkDom6ic12oAoyuP
-n9S6etYv1NYumz5p3N1p5ZElHbYso-044-OYPFpBMNnsy3zcTMxH6nEEtm0FJsKFNKkP-z5fcyrc
-hbXmdZM_KxNF4i4X-UOj7g8rpT64VL_iujv4YiKwEpJBAacLkdajKQ8PD5HsMvug_-2w7Xz2EObG
-mfB07CGCCWHRs74UdXDgHl-3HD422VOY0hpV7syO_uj5CoHfvcrWydjiep-uqUQCkakbnxQLb3OO
-eJTMAgCatFRbQWDSp5zyCJDYtRgwH4gqIz8UPm-27Nthka80Tp8dQXzCzyiqNeF99e0wmjy7fgSu
-OPNmQGOvxyOo84k8ychwPAyGUmhldZ1o_P-t90s8N71DbWp0hDGmL34V8FtJYW9ZecEXM2sqnXES
-EiPOxBjesYTrPaJ26as4MYJeG82ijkPj8dN6ejP9hFSR-PY8hm0i2Xc9LZyTTC4ukNjlRdjn7JjG
-aPuPQRWNVVSdufjdn-hdVxdgv-rbqWm_jLFr-eWNVbGkPE0rhNy399YTcBPpelPlUucMwTCIU6jg
-I77TJUDvS-JQBlQgZslIs-Wv-VSg3TYZnRSUDYKDa_FITem4I2Exi2QUydYHvCfcuoNLFa7sOeFg
-W0bq32z0Djfamv-iyPJwSA3XeL4K_EAd7VuDvg0anhCNdvmXy1Ch-d-H9N0qwsj1bfa-kLwthkGE
-mjF7kWh59--W2TB2uTWr2qsKsqIwDom7ZwnJwhxNsv7NvsMUjfBiSm6t_MCxWinhWLeyUITnZKdt
-tlZW8DqzcT60sLYA13oE3r5H8HUCB3-PGwRgzTutcSFabK8s4IhGktR6lRGGTuFTtiTom7VRmGbs
-8iCilsA6qQgzuzX_Zh41AwjxPUVWhYqt5oF3GeqMrAOS4f5MR9JV5O7sr1vwSvPna27MuO2OmnwB
-vnSXHuuz3e5lnxlasb7bFuFfD4ZyHGp0mxDHtA3PQ7uloXbHCXB4kU2kXMma-9RacoCcx2B18xb9
-nvMMEK3WDlLtWUFwKVnO2soeyTBCKcIIaVjCtmS7C_s0vNIxBRXa8XHAIS4VKz8lUDMTheFXDcKm
-uSe2LZ5jqWpPnDZbaKEhWyadlwhqRUa6704_pSP1TWqh_Nh4aDnevdlVD9PLXcynnmuuh1z6zDXI
-DcTdeLVmsAniw9YqGk1wc2L7kXT2L1oMLX3Ssappu0Zii7yyyhQ4rIpel8DF4pcCA5PlOPqSgf3p
-8vsFjoZwrG6gZx3ymQqPU2HsLzarn85QCrEOA31bIvA9nOxEVZaNvJplJg3PFtuGCdIISKJ6yu4N
-eTmhXxFig-4FQO4l51spt9eWmEJnINe8qiFYgQv2AIyOtP5wSa7IlvW5jKIapVGkv34H69yqX0Ko
-hz-iu-pSLKPSdGws000j-e03tYZSH0sGRmBI-3pBBhGqU4YlDKuCx88jhWckh4hmb4gGycu8b5JZ
-vCkJfOil2tyseZcy9r59yOwuFDFJ5At6TCxfx6I9DziT4x_Vtr6StrHKP_-H-Luq5XvBa7UVMOoX
-kd4wQ6Idy8vgrxPm1CDGpl4yQMQIsb4Nwz-tLpaIHIHLe5Gd3KLCxgSennbqMCCswcaaeVoA
\ No newline at end of file
diff --git a/core/test/AESKeyFile b/core/test/AESKeyFile
new file mode 100644
index 0000000..36c1518
--- /dev/null
+++ b/core/test/AESKeyFile
@@ -0,0 +1,27 @@
+xteeS5pA6m4SW2fMANEeF__VDm3F2wlUqyeUKDKxlSFiS_ICs0Eg7Xeqj3WqbgRqOisc1hLIbyk3

+2bal9qYwT59VxcZy-vrS3ytf0uu5gWwxGfo2-ut3CQTBfwVOj88RMdiyM13-dxJGOdQxT9_Czc9A

+it4edvcVQOTeazJ9JJ0KtO5tvsdihsaYYOVbMbMWPTzyDKY2KE7iMmPaqeGPLvxZSVvjQzjU8qMp

+OwzllAhRXZd0DWOullSotpt8P2VKcbnoKVA2SQvLTt5Zd9TziaaCMP88-fJQUhXvWhUPG_ZdH2R1

+MVyS0WrnBN6rY2h_aTiUswYZ6GGTDa_7O4AQixNR02NAbn7718Mw3bbe12d6nJZ2uYqMb9Hl1bzO

+-mZbJ_TUVAIUBgOb7XjScIS12JLlUuf-kIlQjfT2kfAzSuwcYHUZmB_jAfdZBjyhqVj4x7N47wb1

+7GbBBbECLAPMk9633_3HzadqZu6J3TmfmW2IYR9kqEF1NwfaXgJAL4I43YDSo2XyD-i9MUb3diYd

+LVElQP8gwMh2gbfRe_7BU49_HdbCk4n6BNgT0Z0EgtnMAA0ZZWmBTJTz5BlC0lXL-7NAWyOw1vRs

+ovjqc46zpQq8LYtJ2Vg5WwfpqBpyXqCdp9QYTNtN0GVB4iPBvaWRsQoZKzEESHavxKbGX2_Z7h2Q

+k03Okhl4Ud3MduR6pyxfxVqAdFu3xr2tEIcv_FjyD-5XiTfKcWPw-Srwy-_YiTy_io4nu2swC8Xm

+TsNcWtebM0W80L1nw0MwHFFIoAMBrHUjHxIrZL5JWZyaGxUdtnbKKlkVR1kDC8_pHrevwIijAEyi

+NnwDYaMw7tZo6f06J3yPVCVzVLLXFCCTkvdJAFBhaZI600mf7UZP2BMqomYVROoQNZDAO_GzP1sX

+_B4oebfYPkLk3fBkHasHPDZNy-oNHDEw8ytMXlMhyKX7UHUy28E8zpZWoRMmGPnzOSwp3P-Q08DP

+ja05l6vgvGtzuWNUKcFjSTdqx73JJJ1-QrZZlTd0N1gYqhRyh8YssGDYXEHh5zKuF6vNTinJwGLY

+P5NnOSBCbm9rcPcZGtZYer-uNUY9Z_rscfxiVork1SfnG25FwxCRkc_Nf47THAVM9T7m9Ou_g2N8

+eethvrQxDxEi_DVRBTJYe_9iUOec4KQY7VGhTiFbfvDPRB8yF7Znu5UPJXIeOjvcf9gi8lSwTTRx

+sqRpB3D5SJUSnBGzOCUvYRBbGP0olaVYyVXLcDknRTKbwkIf0tKAEFRDkvkXdlJnQ4lldFHuuHO9

+G7_iqEjCCNncdtLZMwe6LPe1usfJmnl3x95wkpVQdAKl7QoP5fMR2XoXwQbSO2qwIdgBwq9Zm6FW

+wRPStR0pS2ICjHusgmLPsdf2pVZ8q0fqjjzF4Ch7MfOWjhRsK9fCvVDXlrEOACTt7o0roXuswxKT

+EEbibkLsEAQOfOCYa66G37yQKRNnR8PWeRLAaZGF8ewfqF0c2KBAQuLYFlE8OthP_vFDKfVT2zMX

+BfneXOJNY2kZTEJA4MQOC4_Y1JJ7NJc1zqJRuPD8Ifo4oE1Qo2FE-mjm2G_Zb4XsmBEdWsiSAYum

+2DiGm5Io7OXQXv2zOKsBvcoG-24A4M3kTxhEH16sueTKY_DqOjjxkcVIUX_PM7TGkeRU9cnJ2sDH

+Y749blu8BWrRKSRiksxwwNAGW_IdElVVGd89gyGGRzZ2I4h-FXf9EBS1sqo-F_hOq_O3KOoMDFWK

+gdc4XIqeqmjwVTSpkKyxSCFYQW-aPBuTSdJYmPZRQQlCXwkm7SHbLRBKM4h62koA8A3hpzda3qnZ

+w_Wyb8u42yZpqNuUjUUOb4JApmOVCXIe4P9yfhiTbYRvGX50XjPIHBKjAzXhKLGaBaugBYhaGpXf

+kFjvsEF-4PrtQWORKudvlk8D7DnhxqgJdG0GoZAETBTCq_m1trg2TJ2WyAMidFUOWrgGPpshFq1F

+Nu7buFG6nsOsg4sfLmSm2oYhVb0TmEbBGRr_Apkg6nVJzX7DE_Rvt2slZDoIrXeKSbIJ_i5Y
\ No newline at end of file
diff --git a/core/test/CBUSevent.xml b/core/test/CBUSevent.xml
new file mode 100644
index 0000000..c5735d6
--- /dev/null
+++ b/core/test/CBUSevent.xml
@@ -0,0 +1,46 @@
+<!--

+  ============LICENSE_START====================================================

+  * 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====================================================

+  *

+  * ECOMP is a trademark and service mark of AT&T Intellectual Property.

+  *

+-->

+<assembly>

+  <id>app</id>

+  <formats>

+    <format>jar</format>

+  </formats>

+  <includeBaseDirectory>false</includeBaseDirectory>

+  <dependencySets>

+    <dependencySet>

+      <outputDirectory></outputDirectory>

+      <outputFileNameMapping></outputFileNameMapping>

+      <unpack>true</unpack>

+      <scope>runtime</scope>

+      <!--  includes>

+        <include>web</include>

+      </includes -->

+    </dependencySet>

+  </dependencySets>

+  <fileSets>

+    <fileSet>

+      <directory>target/classes</directory>

+      <outputDirectory></outputDirectory>

+    </fileSet>

+   </fileSets>

+</assembly>

diff --git a/pom.xml b/pom.xml
index 81316c1..a4e4e00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -295,9 +295,9 @@
 					</includes>
 					<excludes>
 						<exclude>**/JU_LocalLur.java</exclude>
-						<exclude>**/JU_BufferedServletInputStream.java</exclude>
-						<exclude>**/JU_Passcode.java</exclude>
-						<exclude>**/JU_XReader.java</exclude>
+						<!-- <exclude>**/JU_BufferedServletInputStream.java</exclude> -->
+						<!--<exclude>**/JU_Passcode.java</exclude> -->
+						<!--<exclude>**/JU_XReader.java</exclude>  -->
 						<exclude>**/JU_CASS.java</exclude>
 						<exclude>**/JU_PropertyLocator.java</exclude>
 						<exclude>**/JU_PermEval.java</exclude>