1 /*******************************************************************************
\r
2 * ============LICENSE_START====================================================
\r
4 * * ===========================================================================
\r
5 * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * * ===========================================================================
\r
7 * * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * * you may not use this file except in compliance with the License.
\r
9 * * You may obtain a copy of the License at
\r
11 * * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * * Unless required by applicable law or agreed to in writing, software
\r
14 * * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * * See the License for the specific language governing permissions and
\r
17 * * limitations under the License.
\r
18 * * ============LICENSE_END====================================================
\r
20 * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
\r
22 ******************************************************************************/
\r
23 package org.onap.aaf.cadi.test;
\r
25 import static junit.framework.Assert.assertEquals;
\r
27 import java.io.ByteArrayInputStream;
\r
28 import java.io.FileInputStream;
\r
29 import java.io.IOException;
\r
31 import org.junit.Test;
\r
32 import org.onap.aaf.cadi.BufferedServletInputStream;
\r
34 public class JU_BufferedServletInputStream {
\r
37 public void testByteRead() throws Exception {
\r
38 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
39 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
43 byte aa[] = new byte[260];
\r
44 for(int i=0;i<aa.length;++i) {
\r
50 System.out.println(new String(aa));
\r
54 byte bb[] = new byte[400];
\r
55 for(int i=0;i<bb.length;++i) {
\r
61 System.out.println(new String(bb));
\r
70 public void testByteArray() throws Exception {
\r
71 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
72 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
75 byte aa[] = new byte[260];
\r
77 System.out.println(new String(aa));
\r
81 byte bb[] = new byte[400];
\r
83 System.out.println(new String(bb));
\r
92 public void testDoubleRead() throws Exception {
\r
93 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
94 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
97 byte aa[] = new byte[260];
\r
99 System.out.println(new String(aa));
\r
103 byte bb[] = new byte[400];
\r
105 System.out.println(new String(bb));
\r
114 public void testByteArray2() throws Exception {
\r
115 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
117 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
118 byte[] content = null;
\r
119 byte aa[] = new byte[500];
\r
120 for(int i=0;i<2000;++i) {
\r
122 bsis.read(aa,0,260);
\r
123 if(i==0)System.out.println(new String(aa));
\r
127 bsis.read(aa,0,aa.length);
\r
129 System.out.println(new String(aa));
\r
131 aa = new byte[400];
\r
133 bsis = new BufferedServletInputStream(new ByteArrayInputStream(content));
\r
137 System.out.println(new String(aa));
\r
144 // "Bug" 4/22/2013
\r
145 // Some XML code expects Buffered InputStream can never return 0... This isn't actually true, but we'll accommodate as far
\r
147 // Here, we make sure we set and read the Buffered data, making sure the buffer is empty on the last test...
\r
149 public void issue04_22_2013() throws IOException {
\r
150 String testString = "We want to read in and get out with a Buffered Stream seamlessly.";
\r
151 ByteArrayInputStream bais = new ByteArrayInputStream(testString.getBytes());
\r
152 BufferedServletInputStream bsis = new BufferedServletInputStream(bais);
\r
155 byte aa[] = new byte[testString.length()]; // 65 count... important for our test (divisible by 5);
\r
158 for(int i=0;i<aa.length;i+=5) {
\r
159 read = bsis.read(aa, i, 5);
\r
160 assertEquals(5,read);
\r
162 System.out.println(new String(aa));
\r
166 byte bb[] = new byte[aa.length];
\r
168 for(int i=0;read>=0;i+=read) {
\r
169 read = bsis.read(bb,i,5);
\r
172 assertEquals(read,-1);
\r
175 assertEquals(read,5);
\r
178 System.out.println(new String(bb));
\r
179 assertEquals(testString,new String(aa));
\r
180 assertEquals(testString,new String(bb));
\r