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.wsse.test;
\r
26 import static junit.framework.Assert.assertEquals;
\r
27 import static junit.framework.Assert.assertNotNull;
\r
28 import static junit.framework.Assert.assertNull;
\r
30 import java.io.ByteArrayInputStream;
\r
31 import java.io.File;
\r
32 import java.io.FileInputStream;
\r
34 import javax.xml.stream.XMLStreamException;
\r
36 import org.junit.Test;
\r
38 import com.att.cadi.BasicCred;
\r
39 import com.att.cadi.BufferedServletInputStream;
\r
40 import com.att.cadi.wsse.WSSEParser;
\r
42 public class JU_WSSE_Read {
\r
45 public void test() {
\r
47 final BasicCred bc = new BasicCred() {
\r
49 private String user;
\r
50 private byte[] password;
\r
52 public void setUser(String user) {
\r
56 public void setCred(byte[] passwd) {
\r
57 this.password = passwd;
\r
60 public String getUser() {
\r
64 public byte[] getCred() {
\r
69 WSSEParser wp = new WSSEParser();
\r
71 FileInputStream fis;
\r
72 fis = new FileInputStream("test/example.xml");
\r
73 BufferedServletInputStream is = new BufferedServletInputStream(fis);
\r
77 assertNull(wp.parse(bc, is));
\r
80 assertEquals(814,is.buffered());
\r
82 String password = new String(bc.getCred());
\r
83 System.out.println("CadiWrap credentials are: " + bc.getUser() + ", " + password);
\r
84 assertEquals("some_user", bc.getUser());
\r
85 assertEquals("some_password", password);
\r
92 fis = new FileInputStream("test/CBUSevent.xml");
\r
93 is = new BufferedServletInputStream(fis);
\r
97 assertNull(wp.parse(bc, is));
\r
100 assertEquals(667,is.buffered());
\r
102 String password = new String(bc.getCred());
\r
103 System.out.println("CadiWrap credentials are: " + bc.getUser() + ", " + password);
\r
104 assertEquals("none", bc.getUser());
\r
105 assertEquals("none", password);
\r
112 fis = new FileInputStream("test/example.xml");
\r
116 XMLStreamException ex = wp.parse(bc, fis);
\r
118 assertNull(bc.getUser());
\r
119 assertNull(bc.getCred());
\r
122 fis = new FileInputStream("test/exampleNoSecurity.xml");
\r
126 assertNull(wp.parse(bc, fis));
\r
127 assertNull(bc.getUser());
\r
128 assertNull(bc.getCred());
\r
133 fis = new FileInputStream("test/exampleBad1.xml");
\r
137 assertNull(wp.parse(bc, fis));
\r
138 assertNull(bc.getUser());
\r
139 assertNull(bc.getCred());
\r
144 XMLStreamException e = wp.parse(bc, new ByteArrayInputStream("Not XML".getBytes())); // empty
\r
147 e = wp.parse(bc, new ByteArrayInputStream("".getBytes())); // empty
\r
151 long start, count = 0L;
\r
153 File f = new File("test/CBUSevent.xml");
\r
154 fis = new FileInputStream(f);
\r
155 is = new BufferedServletInputStream(fis);
\r
158 while(is.read()>=0);
\r
163 for(int i=0;i<iter;++i) {
\r
164 start = System.nanoTime();
\r
167 assertNull(wp.parse(bc, is));
\r
169 count += System.nanoTime()-start;
\r
172 float ms = count/1000000f;
\r
173 System.out.println("Executed " + iter + " WSSE reads from Memory Stream in " + ms + "ms. " + ms/iter + "ms per trans");
\r
177 fis = new FileInputStream("test/error2013_04_23.xml");
\r
181 assertNull(wp.parse(bc, fis));
\r
182 assertNull(bc.getUser());
\r
183 assertNull(bc.getCred());
\r
187 } catch(Exception e) {
\r
188 e.printStackTrace(System.err);
\r