1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.transport;
18
19 import java.io.IOException;
20 import java.io.InputStream;
21 import java.util.Arrays;
22 import java.util.HashMap;
23 import java.util.Iterator;
24 import java.util.Map;
25
26 import org.springframework.util.Assert;
27 import org.springframework.util.StringUtils;
28
29 public class MockTransportInputStream extends TransportInputStream {
30
31 private Map<String, String> headers;
32
33 private InputStream inputStream;
34
35 public MockTransportInputStream(InputStream inputStream, Map<String, String> headers) {
36 Assert.notNull(inputStream, "inputStream must not be null");
37 Assert.notNull(headers, "headers must not be null");
38 this.inputStream = inputStream;
39 this.headers = headers;
40 }
41
42 public MockTransportInputStream(InputStream inputStream) {
43 Assert.notNull(inputStream, "inputStream must not be null");
44 this.inputStream = inputStream;
45 headers = new HashMap<String, String>();
46 }
47
48 @Override
49 protected InputStream createInputStream() throws IOException {
50 return inputStream;
51 }
52
53 @Override
54 public Iterator<String> getHeaderNames() throws IOException {
55 return headers.keySet().iterator();
56 }
57
58 @Override
59 public Iterator<String> getHeaders(String name) throws IOException {
60 String[] values = StringUtils.delimitedListToStringArray(headers.get(name), ", ");
61 return Arrays.asList(values).iterator();
62 }
63 }