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 com.att.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
33 import com.att.cadi.BufferedServletInputStream;
\r
35 public class JU_BufferedServletInputStream {
\r
38 public void testByteRead() throws Exception {
\r
39 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
40 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
44 byte aa[] = new byte[260];
\r
45 for(int i=0;i<aa.length;++i) {
\r
51 System.out.println(new String(aa));
\r
55 byte bb[] = new byte[400];
\r
56 for(int i=0;i<bb.length;++i) {
\r
62 System.out.println(new String(bb));
\r
71 public void testByteArray() throws Exception {
\r
72 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
73 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
76 byte aa[] = new byte[260];
\r
78 System.out.println(new String(aa));
\r
82 byte bb[] = new byte[400];
\r
84 System.out.println(new String(bb));
\r
93 public void testDoubleRead() throws Exception {
\r
94 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
95 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
98 byte aa[] = new byte[260];
\r
100 System.out.println(new String(aa));
\r
104 byte bb[] = new byte[400];
\r
106 System.out.println(new String(bb));
\r
115 public void testByteArray2() throws Exception {
\r
116 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
118 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
119 byte[] content = null;
\r
120 byte aa[] = new byte[500];
\r
121 for(int i=0;i<2000;++i) {
\r
123 bsis.read(aa,0,260);
\r
124 if(i==0)System.out.println(new String(aa));
\r
128 bsis.read(aa,0,aa.length);
\r
130 System.out.println(new String(aa));
\r
132 aa = new byte[400];
\r
134 bsis = new BufferedServletInputStream(new ByteArrayInputStream(content));
\r
138 System.out.println(new String(aa));
\r
145 // "Bug" 4/22/2013
\r
146 // Some XML code expects Buffered InputStream can never return 0... This isn't actually true, but we'll accommodate as far
\r
148 // Here, we make sure we set and read the Buffered data, making sure the buffer is empty on the last test...
\r
150 public void issue04_22_2013() throws IOException {
\r
151 String testString = "We want to read in and get out with a Buffered Stream seamlessly.";
\r
152 ByteArrayInputStream bais = new ByteArrayInputStream(testString.getBytes());
\r
153 BufferedServletInputStream bsis = new BufferedServletInputStream(bais);
\r
156 byte aa[] = new byte[testString.length()]; // 65 count... important for our test (divisible by 5);
\r
159 for(int i=0;i<aa.length;i+=5) {
\r
160 read = bsis.read(aa, i, 5);
\r
161 assertEquals(5,read);
\r
163 System.out.println(new String(aa));
\r
167 byte bb[] = new byte[aa.length];
\r
169 for(int i=0;read>=0;i+=read) {
\r
170 read = bsis.read(bb,i,5);
\r
173 assertEquals(read,-1);
\r
176 assertEquals(read,5);
\r
179 System.out.println(new String(bb));
\r
180 assertEquals(testString,new String(aa));
\r
181 assertEquals(testString,new String(bb));
\r