From 62c4eb45e157d502463d797c1353802ca8e1e307 Mon Sep 17 00:00:00 2001 From: sg481n Date: Fri, 25 Aug 2017 01:57:24 -0400 Subject: Update project structure for aaf/cadi Update project structure from com.att to org.onap and add distribution management and staging plugin. Issue-id: AAF-22 Change-Id: Idf2b591139e38921ad28782a51486714a05dee92 Signed-off-by: sg481n --- core/src/test/java/com/att/cadi/JU_AES.java | 86 ---------- .../java/com/att/cadi/lur/test/JU_LocalLur.java | 101 ----------- .../java/com/att/cadi/lur/test/TestAccess.java | 91 ---------- .../src/test/java/com/att/cadi/test/JU_Base64.java | 157 ----------------- .../cadi/test/JU_BufferedServletInputStream.java | 191 --------------------- .../test/java/com/att/cadi/test/JU_Capacitor.java | 144 ---------------- core/src/test/java/com/att/cadi/test/JU_Hash.java | 61 ------- .../test/java/com/att/cadi/test/JU_Passcode.java | 90 ---------- .../java/com/att/cadi/test/JU_UserChainManip.java | 48 ------ core/src/test/java/com/att/cadi/test/JU_Vars.java | 126 -------------- core/src/test/java/com/att/cadi/test/Test.java | 70 -------- .../java/com/att/cadi/wsse/test/JU_WSSE_Read.java | 191 --------------------- .../java/com/att/cadi/wsse/test/JU_XReader.java | 66 ------- core/src/test/java/org/onap/aaf/cadi/JU_AES.java | 88 ++++++++++ .../org/onap/aaf/cadi/lur/test/JU_LocalLur.java | 100 +++++++++++ .../org/onap/aaf/cadi/lur/test/TestAccess.java | 91 ++++++++++ .../java/org/onap/aaf/cadi/test/JU_Base64.java | 156 +++++++++++++++++ .../cadi/test/JU_BufferedServletInputStream.java | 190 ++++++++++++++++++++ .../java/org/onap/aaf/cadi/test/JU_Capacitor.java | 143 +++++++++++++++ .../test/java/org/onap/aaf/cadi/test/JU_Hash.java | 60 +++++++ .../java/org/onap/aaf/cadi/test/JU_Passcode.java | 89 ++++++++++ .../org/onap/aaf/cadi/test/JU_UserChainManip.java | 47 +++++ .../test/java/org/onap/aaf/cadi/test/JU_Vars.java | 125 ++++++++++++++ .../src/test/java/org/onap/aaf/cadi/test/Test.java | 70 ++++++++ .../org/onap/aaf/cadi/wsse/test/JU_WSSE_Read.java | 190 ++++++++++++++++++++ .../org/onap/aaf/cadi/wsse/test/JU_XReader.java | 65 +++++++ 26 files changed, 1414 insertions(+), 1422 deletions(-) delete mode 100644 core/src/test/java/com/att/cadi/JU_AES.java delete mode 100644 core/src/test/java/com/att/cadi/lur/test/JU_LocalLur.java delete mode 100644 core/src/test/java/com/att/cadi/lur/test/TestAccess.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_Base64.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_BufferedServletInputStream.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_Capacitor.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_Hash.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_Passcode.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_UserChainManip.java delete mode 100644 core/src/test/java/com/att/cadi/test/JU_Vars.java delete mode 100644 core/src/test/java/com/att/cadi/test/Test.java delete mode 100644 core/src/test/java/com/att/cadi/wsse/test/JU_WSSE_Read.java delete mode 100644 core/src/test/java/com/att/cadi/wsse/test/JU_XReader.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/JU_AES.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/lur/test/JU_LocalLur.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/lur/test/TestAccess.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_Base64.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_BufferedServletInputStream.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_Capacitor.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_Hash.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_Passcode.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_UserChainManip.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/JU_Vars.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/test/Test.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/wsse/test/JU_WSSE_Read.java create mode 100644 core/src/test/java/org/onap/aaf/cadi/wsse/test/JU_XReader.java (limited to 'core/src/test/java') diff --git a/core/src/test/java/com/att/cadi/JU_AES.java b/core/src/test/java/com/att/cadi/JU_AES.java deleted file mode 100644 index fb2482a..0000000 --- a/core/src/test/java/com/att/cadi/JU_AES.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * ============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 com.att.cadi; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import javax.crypto.CipherInputStream; -import javax.crypto.CipherOutputStream; - -import org.junit.Test; - -import junit.framework.Assert; - -public class JU_AES { - - @Test - public void test() throws Exception { - AES aes = new AES(); - 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)); - } - - @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); - } - -} diff --git a/core/src/test/java/com/att/cadi/lur/test/JU_LocalLur.java b/core/src/test/java/com/att/cadi/lur/test/JU_LocalLur.java deleted file mode 100644 index f11c74d..0000000 --- a/core/src/test/java/com/att/cadi/lur/test/JU_LocalLur.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * ============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 com.att.cadi.lur.test; - -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertFalse; -import static junit.framework.Assert.assertTrue; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.Principal; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.TreeSet; - -import org.junit.Test; - -import com.att.cadi.CredVal.Type; -import com.att.cadi.Lur; -import com.att.cadi.Permission; -import com.att.cadi.PropAccess; -import com.att.cadi.Symm; -import com.att.cadi.config.UsersDump; -import com.att.cadi.lur.LocalLur; -import com.att.cadi.lur.LocalPermission; - -public class JU_LocalLur { - - @Test - public void test() throws IOException { - Symm symmetric = Symm.baseCrypt().obtain(); - LocalLur up; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - baos.write(Symm.ENC.getBytes()); - symmetric.enpass("", baos); - PropAccess ta = new PropAccess(); - Lur ml = up = new LocalLur(ta,"myname:groupA,groupB","admin:myname,yourname;suser:hisname,hername,m1234%"+baos.toString()); - - Permission admin = new LocalPermission("admin"); - Permission suser = new LocalPermission("suser"); - - // Check User fish - assertTrue(ml.fish(new JUPrincipal("myname"),admin)); - assertTrue(ml.fish(new JUPrincipal("hisname"),admin)); - assertFalse(ml.fish(new JUPrincipal("noname"),admin)); - assertTrue(ml.fish(new JUPrincipal("itsname"),suser)); - assertTrue(ml.fish(new JUPrincipal("hername"),suser)); - assertFalse(ml.fish(new JUPrincipal("myname"),suser)); - - - // Check validate password - assertTrue(up.validate("m1234",Type.PASSWORD, "".getBytes())); - assertFalse(up.validate("m1234",Type.PASSWORD, "badPass".getBytes())); - - // Check fishAll - Set set = new TreeSet(); - List perms = new ArrayList(); - ml.fishAll(new JUPrincipal("myname"), perms); - for(Permission p : perms) { - set.add(p.getKey()); - } - assertEquals("[admin, groupA, groupB]",set.toString()); - UsersDump.write(System.out, up); - System.out.flush(); - - } - - // Simplistic Principal for testing purposes - private static class JUPrincipal implements Principal { - private String name; - public JUPrincipal(String name) { - this.name = name; - } -// @Override - public String getName() { - return name; - } - } - -} diff --git a/core/src/test/java/com/att/cadi/lur/test/TestAccess.java b/core/src/test/java/com/att/cadi/lur/test/TestAccess.java deleted file mode 100644 index 81d5092..0000000 --- a/core/src/test/java/com/att/cadi/lur/test/TestAccess.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * ============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 com.att.cadi.lur.test; - -import java.io.IOException; -import java.io.InputStream; - -import com.att.cadi.Access; -import com.att.cadi.Symm; - -public class TestAccess implements Access { - private Symm symm; - - public TestAccess() { - symm = Symm.obtain(this); - } - - public TestAccess(Symm symmetric) { - symm = symmetric; - } - - public void log(Level level, Object... elements) { - boolean first = true; - for(int i=0;i=0) { - aa[i]=(byte)c; - } - } - System.out.println(new String(aa)); - - bsis.reset(); - - byte bb[] = new byte[400]; - for(int i=0;i=0) { - bb[i]=(byte)c; - } - } - System.out.println(new String(bb)); - - } finally { - bsis.close(); - fis.close(); - } - } - - @Test - public void testByteArray() throws Exception { - FileInputStream fis = new FileInputStream("test/CBUSevent.xml"); - BufferedServletInputStream bsis = new BufferedServletInputStream(fis); - try { - bsis.mark(0); - byte aa[] = new byte[260]; - bsis.read(aa); - System.out.println(new String(aa)); - - bsis.reset(); - - byte bb[] = new byte[400]; - bsis.read(bb); - System.out.println(new String(bb)); - - } finally { - bsis.close(); - fis.close(); - } - } - - @Test - public void testDoubleRead() throws Exception { - FileInputStream fis = new FileInputStream("test/CBUSevent.xml"); - BufferedServletInputStream bsis = new BufferedServletInputStream(fis); - try { - bsis.mark(0); - byte aa[] = new byte[260]; - bsis.read(aa); - System.out.println(new String(aa)); - - bsis.reset(); - - byte bb[] = new byte[400]; - bsis.read(bb); - System.out.println(new String(bb)); - - } finally { - bsis.close(); - fis.close(); - } - } - - @Test - public void testByteArray2() throws Exception { - FileInputStream fis = new FileInputStream("test/CBUSevent.xml"); - try { - BufferedServletInputStream bsis = new BufferedServletInputStream(fis); - byte[] content = null; - byte aa[] = new byte[500]; - for(int i=0;i<2000;++i) { - bsis.mark(0); - bsis.read(aa,0,260); - if(i==0)System.out.println(new String(aa)); - - bsis.reset(); - - bsis.read(aa,0,aa.length); - if(i==0) { - System.out.println(new String(aa)); - content = aa; - aa = new byte[400]; - } - bsis = new BufferedServletInputStream(new ByteArrayInputStream(content)); - - } - - System.out.println(new String(aa)); - - } finally { - fis.close(); - } - } - - // "Bug" 4/22/2013 - // Some XML code expects Buffered InputStream can never return 0... This isn't actually true, but we'll accommodate as far - // as we can. - // Here, we make sure we set and read the Buffered data, making sure the buffer is empty on the last test... - @Test - public void issue04_22_2013() throws IOException { - String testString = "We want to read in and get out with a Buffered Stream seamlessly."; - ByteArrayInputStream bais = new ByteArrayInputStream(testString.getBytes()); - BufferedServletInputStream bsis = new BufferedServletInputStream(bais); - try { - bsis.mark(0); - byte aa[] = new byte[testString.length()]; // 65 count... important for our test (divisible by 5); - - int read; - for(int i=0;i=0;i+=read) { - read = bsis.read(bb,i,5); - switch(i) { - case 65: - assertEquals(read,-1); - break; - default: - assertEquals(read,5); - } - } - System.out.println(new String(bb)); - assertEquals(testString,new String(aa)); - assertEquals(testString,new String(bb)); - - } finally { - bsis.close(); - bais.close(); - } - - } - - -} diff --git a/core/src/test/java/com/att/cadi/test/JU_Capacitor.java b/core/src/test/java/com/att/cadi/test/JU_Capacitor.java deleted file mode 100644 index 5584911..0000000 --- a/core/src/test/java/com/att/cadi/test/JU_Capacitor.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * ============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 com.att.cadi.test; - -import static junit.framework.Assert.assertEquals; - -import org.junit.Test; - -import com.att.cadi.Capacitor; - -public class JU_Capacitor { - @Test - public void testA() { - Capacitor cap = new Capacitor(); - - for(int iter=0;iter<200;++iter) { - for(int i=0;i<20;++i) { - cap.put((byte)('a'+i)); - } - cap.setForRead(); - byte[] array = new byte[20]; - for(int i=0;i<20;++i) { - array[i]=(byte)cap.read(); - } - assertEquals("abcdefghijklmnopqrst",new String(array)); - assertEquals(-1,cap.read()); - cap.done(); - } - } - - public final static String TEST_DATA = - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + - "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + - "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + - "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" + - "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"; - @Test - public void testB() { - Capacitor cap = new Capacitor(); - byte[] arrayA = TEST_DATA.getBytes(); - System.out.println(arrayA.length); - for(int iter=0;iter<200;++iter) { - for(int i=0;i=0); - } finally { - fis.close(); - } - - for(int i=0;i", baos); + PropAccess ta = new PropAccess(); + Lur ml = up = new LocalLur(ta,"myname:groupA,groupB","admin:myname,yourname;suser:hisname,hername,m1234%"+baos.toString()); + + Permission admin = new LocalPermission("admin"); + Permission suser = new LocalPermission("suser"); + + // Check User fish + assertTrue(ml.fish(new JUPrincipal("myname"),admin)); + assertTrue(ml.fish(new JUPrincipal("hisname"),admin)); + assertFalse(ml.fish(new JUPrincipal("noname"),admin)); + assertTrue(ml.fish(new JUPrincipal("itsname"),suser)); + assertTrue(ml.fish(new JUPrincipal("hername"),suser)); + assertFalse(ml.fish(new JUPrincipal("myname"),suser)); + + + // Check validate password + assertTrue(up.validate("m1234",Type.PASSWORD, "".getBytes())); + assertFalse(up.validate("m1234",Type.PASSWORD, "badPass".getBytes())); + + // Check fishAll + Set set = new TreeSet(); + List perms = new ArrayList(); + ml.fishAll(new JUPrincipal("myname"), perms); + for(Permission p : perms) { + set.add(p.getKey()); + } + assertEquals("[admin, groupA, groupB]",set.toString()); + UsersDump.write(System.out, up); + System.out.flush(); + + } + + // Simplistic Principal for testing purposes + private static class JUPrincipal implements Principal { + private String name; + public JUPrincipal(String name) { + this.name = name; + } +// @Override + public String getName() { + return name; + } + } + +} diff --git a/core/src/test/java/org/onap/aaf/cadi/lur/test/TestAccess.java b/core/src/test/java/org/onap/aaf/cadi/lur/test/TestAccess.java new file mode 100644 index 0000000..8b1bab6 --- /dev/null +++ b/core/src/test/java/org/onap/aaf/cadi/lur/test/TestAccess.java @@ -0,0 +1,91 @@ +/******************************************************************************* + * ============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.lur.test; + +import java.io.IOException; +import java.io.InputStream; + +import org.onap.aaf.cadi.Access; +import org.onap.aaf.cadi.Symm; + +public class TestAccess implements Access { + private Symm symm; + + public TestAccess() { + symm = Symm.obtain(this); + } + + public TestAccess(Symm symmetric) { + symm = symmetric; + } + + public void log(Level level, Object... elements) { + boolean first = true; + for(int i=0;i=0) { + aa[i]=(byte)c; + } + } + System.out.println(new String(aa)); + + bsis.reset(); + + byte bb[] = new byte[400]; + for(int i=0;i=0) { + bb[i]=(byte)c; + } + } + System.out.println(new String(bb)); + + } finally { + bsis.close(); + fis.close(); + } + } + + @Test + public void testByteArray() throws Exception { + FileInputStream fis = new FileInputStream("test/CBUSevent.xml"); + BufferedServletInputStream bsis = new BufferedServletInputStream(fis); + try { + bsis.mark(0); + byte aa[] = new byte[260]; + bsis.read(aa); + System.out.println(new String(aa)); + + bsis.reset(); + + byte bb[] = new byte[400]; + bsis.read(bb); + System.out.println(new String(bb)); + + } finally { + bsis.close(); + fis.close(); + } + } + + @Test + public void testDoubleRead() throws Exception { + FileInputStream fis = new FileInputStream("test/CBUSevent.xml"); + BufferedServletInputStream bsis = new BufferedServletInputStream(fis); + try { + bsis.mark(0); + byte aa[] = new byte[260]; + bsis.read(aa); + System.out.println(new String(aa)); + + bsis.reset(); + + byte bb[] = new byte[400]; + bsis.read(bb); + System.out.println(new String(bb)); + + } finally { + bsis.close(); + fis.close(); + } + } + + @Test + public void testByteArray2() throws Exception { + FileInputStream fis = new FileInputStream("test/CBUSevent.xml"); + try { + BufferedServletInputStream bsis = new BufferedServletInputStream(fis); + byte[] content = null; + byte aa[] = new byte[500]; + for(int i=0;i<2000;++i) { + bsis.mark(0); + bsis.read(aa,0,260); + if(i==0)System.out.println(new String(aa)); + + bsis.reset(); + + bsis.read(aa,0,aa.length); + if(i==0) { + System.out.println(new String(aa)); + content = aa; + aa = new byte[400]; + } + bsis = new BufferedServletInputStream(new ByteArrayInputStream(content)); + + } + + System.out.println(new String(aa)); + + } finally { + fis.close(); + } + } + + // "Bug" 4/22/2013 + // Some XML code expects Buffered InputStream can never return 0... This isn't actually true, but we'll accommodate as far + // as we can. + // Here, we make sure we set and read the Buffered data, making sure the buffer is empty on the last test... + @Test + public void issue04_22_2013() throws IOException { + String testString = "We want to read in and get out with a Buffered Stream seamlessly."; + ByteArrayInputStream bais = new ByteArrayInputStream(testString.getBytes()); + BufferedServletInputStream bsis = new BufferedServletInputStream(bais); + try { + bsis.mark(0); + byte aa[] = new byte[testString.length()]; // 65 count... important for our test (divisible by 5); + + int read; + for(int i=0;i=0;i+=read) { + read = bsis.read(bb,i,5); + switch(i) { + case 65: + assertEquals(read,-1); + break; + default: + assertEquals(read,5); + } + } + System.out.println(new String(bb)); + assertEquals(testString,new String(aa)); + assertEquals(testString,new String(bb)); + + } finally { + bsis.close(); + bais.close(); + } + + } + + +} diff --git a/core/src/test/java/org/onap/aaf/cadi/test/JU_Capacitor.java b/core/src/test/java/org/onap/aaf/cadi/test/JU_Capacitor.java new file mode 100644 index 0000000..9d11fe4 --- /dev/null +++ b/core/src/test/java/org/onap/aaf/cadi/test/JU_Capacitor.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * ============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.test; + +import static junit.framework.Assert.assertEquals; + +import org.junit.Test; +import org.onap.aaf.cadi.Capacitor; + +public class JU_Capacitor { + @Test + public void testA() { + Capacitor cap = new Capacitor(); + + for(int iter=0;iter<200;++iter) { + for(int i=0;i<20;++i) { + cap.put((byte)('a'+i)); + } + cap.setForRead(); + byte[] array = new byte[20]; + for(int i=0;i<20;++i) { + array[i]=(byte)cap.read(); + } + assertEquals("abcdefghijklmnopqrst",new String(array)); + assertEquals(-1,cap.read()); + cap.done(); + } + } + + public final static String TEST_DATA = + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + + "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + + "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + + "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" + + "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"; + @Test + public void testB() { + Capacitor cap = new Capacitor(); + byte[] arrayA = TEST_DATA.getBytes(); + System.out.println(arrayA.length); + for(int iter=0;iter<200;++iter) { + for(int i=0;i=0); + } finally { + fis.close(); + } + + for(int i=0;i