summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorsg481n <sg481n@att.com>2017-10-04 16:01:39 +0000
committersg481n <sg481n@att.com>2017-10-04 16:10:32 +0000
commitb06f7e948bb2e4a7b34d436b5a4c2505b8a58f23 (patch)
tree2501cfc3b359d6fa27e0cecaaa43464f3b334ec2 /core
parent524497c28d489534c7f67c02441eb5c0daefa019 (diff)
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>
Diffstat (limited to 'core')
-rw-r--r--core/src/test/java/org/onap/aaf/cadi/JU_AES.java174
-rw-r--r--core/src/test/java/org/onap/aaf/cadi/JU_CadiWrapTest.java197
-rw-r--r--core/src/test/java/org/onap/aaf/cadi/test/JU_Passcode.java17
-rw-r--r--core/tempkey27
-rw-r--r--core/test/AESKeyFile27
-rw-r--r--core/test/CBUSevent.xml46
6 files changed, 370 insertions, 118 deletions
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 org.onap.aaf.cadi.Symm;
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,46 +66,13 @@ public class JU_AES {
passin = aes.decrypt(encrypted);
Assert.assertEquals(orig, new String(passin));
}
-
- @Test
- public void testInputStream() throws Exception {
- AES aes = new AES();
- String orig = "I'm a password, really";
- 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 testObtain() throws Exception {
- byte[] keygen = Symm.baseCrypt().keygen();
-
- Symm symm = Symm.obtain(new ByteArrayInputStream(keygen));
-
- 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 test1() throws Exception {
- AES aes = new AES();
- String orig = "I'm a password, really Cool";
+ 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);
@@ -97,12 +81,23 @@ public class JU_AES {
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 {
+ public void testInputStream() 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,34 +106,44 @@ public class JU_AES {
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
- public void testObtain1() throws Exception {
+ public void testObtain() throws Exception {
byte[] keygen = Symm.baseCrypt().keygen();
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 {
+ public void test1() throws Exception {
AES aes = new AES();
- String orig = "I'm a password, really Nice";
+ String orig = "I'm a password, really";
byte[] passin = orig.getBytes();
byte[] encrypted = aes.encrypt(passin);
byte[] b64enc = Symm.base64.encode(encrypted);
@@ -148,47 +153,13 @@ public class JU_AES {
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";
+ 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);
@@ -197,12 +168,23 @@ public class JU_AES {
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 testInputStream3() throws Exception {
+ public void testInputStream1() throws Exception {
AES aes = new AES();
- String orig = "I'm a password, magic";
+ String orig = "I'm a password, really";
ByteArrayInputStream bais = new ByteArrayInputStream(orig.getBytes());
CipherInputStream cis = aes.inputStream(bais, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -211,27 +193,37 @@ public class JU_AES {
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
- public void testObtain3() throws Exception {
+ public void testObtain1() throws Exception {
byte[] keygen = Symm.baseCrypt().keygen();
Symm symm = Symm.obtain(new ByteArrayInputStream(keygen));
- String orig ="Another Password, magic";
+ 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);
}
-
}
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 org.onap.aaf.cadi.Symm;
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 @@ public class JU_Passcode {
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 @@ public class JU_Passcode {
}
+
+ @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>