1 /*******************************************************************************
\r
2 * ============LICENSE_START====================================================
\r
4 * * ===========================================================================
\r
5 * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * * Copyright © 2017 Amdocs
\r
7 * * ===========================================================================
\r
8 * * Licensed under the Apache License, Version 2.0 (the "License");
\r
9 * * you may not use this file except in compliance with the License.
\r
10 * * You may obtain a copy of the License at
\r
12 * * http://www.apache.org/licenses/LICENSE-2.0
\r
14 * * Unless required by applicable law or agreed to in writing, software
\r
15 * * distributed under the License is distributed on an "AS IS" BASIS,
\r
16 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
17 * * See the License for the specific language governing permissions and
\r
18 * * limitations under the License.
\r
19 * * ============LICENSE_END====================================================
\r
21 * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
\r
23 ******************************************************************************/
\r
24 package com.att.cadi.test;
\r
26 import static junit.framework.Assert.assertEquals;
\r
28 import java.io.ByteArrayInputStream;
\r
29 import java.io.FileInputStream;
\r
30 import java.io.IOException;
\r
32 import org.junit.Test;
\r
34 import com.att.cadi.BufferedServletInputStream;
\r
36 public class JU_BufferedServletInputStream {
\r
39 public void testByteRead() throws Exception {
\r
40 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
41 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
45 byte aa[] = new byte[260];
\r
46 for(int i=0;i<aa.length;++i) {
\r
52 System.out.println(new String(aa));
\r
56 byte bb[] = new byte[400];
\r
57 for(int i=0;i<bb.length;++i) {
\r
63 System.out.println(new String(bb));
\r
72 public void testByteArray() throws Exception {
\r
73 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
74 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
77 byte aa[] = new byte[260];
\r
79 System.out.println(new String(aa));
\r
83 byte bb[] = new byte[400];
\r
85 System.out.println(new String(bb));
\r
94 public void testDoubleRead() throws Exception {
\r
95 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
96 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
99 byte aa[] = new byte[260];
\r
101 System.out.println(new String(aa));
\r
105 byte bb[] = new byte[400];
\r
107 System.out.println(new String(bb));
\r
116 public void testByteArray2() throws Exception {
\r
117 FileInputStream fis = new FileInputStream("test/CBUSevent.xml");
\r
119 BufferedServletInputStream bsis = new BufferedServletInputStream(fis);
\r
120 byte[] content = null;
\r
121 byte aa[] = new byte[500];
\r
122 for(int i=0;i<2000;++i) {
\r
124 bsis.read(aa,0,260);
\r
125 if(i==0)System.out.println(new String(aa));
\r
129 bsis.read(aa,0,aa.length);
\r
131 System.out.println(new String(aa));
\r
133 aa = new byte[400];
\r
135 bsis = new BufferedServletInputStream(new ByteArrayInputStream(content));
\r
139 System.out.println(new String(aa));
\r
146 // "Bug" 4/22/2013
\r
147 // Some XML code expects Buffered InputStream can never return 0... This isn't actually true, but we'll accommodate as far
\r
149 // Here, we make sure we set and read the Buffered data, making sure the buffer is empty on the last test...
\r
151 public void issue04_22_2013() throws IOException {
\r
152 String testString = "We want to read in and get out with a Buffered Stream seamlessly.";
\r
153 ByteArrayInputStream bais = new ByteArrayInputStream(testString.getBytes());
\r
154 BufferedServletInputStream bsis = new BufferedServletInputStream(bais);
\r
157 byte aa[] = new byte[testString.length()]; // 65 count... important for our test (divisible by 5);
\r
160 for(int i=0;i<aa.length;i+=5) {
\r
161 read = bsis.read(aa, i, 5);
\r
162 assertEquals(5,read);
\r
164 System.out.println(new String(aa));
\r
168 byte bb[] = new byte[aa.length];
\r
170 for(int i=0;read>=0;i+=read) {
\r
171 read = bsis.read(bb,i,5);
\r
174 assertEquals(read,-1);
\r
177 assertEquals(read,5);
\r
180 System.out.println(new String(bb));
\r
181 assertEquals(testString,new String(aa));
\r
182 assertEquals(testString,new String(bb));
\r