diff options
author | Gabriel Couto <gmcouto@gmail.com> | 2018-07-19 05:34:56 +0000 |
---|---|---|
committer | David Pursehouse <david.pursehouse@gmail.com> | 2018-07-23 06:56:14 +0100 |
commit | 280707b0fc717fdd8898242f21589f0c7c7d87be (patch) | |
tree | 5c6f8bf41a161cc8621f277dc0b9ca261e3beeb8 /org.eclipse.jgit.http.test/tst | |
parent | 32798dcfdb00662a640f0ff2915766591d21e287 (diff) | |
download | jgit-280707b0fc717fdd8898242f21589f0c7c7d87be.tar.gz jgit-280707b0fc717fdd8898242f21589f0c7c7d87be.zip |
HttpClientConnection.getHeaderFields should support multiple values for same header
Bug: 537166
Change-Id: I1ba645968efe01a88f2484f030b7572228ba169c
Signed-off-by: Gabriel Couto <gmcouto@gmail.com>
Diffstat (limited to 'org.eclipse.jgit.http.test/tst')
-rw-r--r-- | org.eclipse.jgit.http.test/tst/org/eclipse/jgit/transport/http/apache/HttpClientConnectionTest.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/transport/http/apache/HttpClientConnectionTest.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/transport/http/apache/HttpClientConnectionTest.java new file mode 100644 index 0000000000..678ed64e8b --- /dev/null +++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/transport/http/apache/HttpClientConnectionTest.java @@ -0,0 +1,90 @@ +package org.eclipse.jgit.transport.http.apache;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.ProtocolVersion;
+import org.apache.http.StatusLine;
+import org.apache.http.message.AbstractHttpMessage;
+import org.junit.Test;
+
+import java.net.MalformedURLException;
+import java.util.List;
+import java.util.Locale;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class HttpClientConnectionTest {
+ @Test
+ public void testGetHeaderFieldsAllowMultipleValues() throws MalformedURLException {
+ HttpResponse responseMock = new HttpResponseMock();
+ String headerField = "WWW-Authenticate";
+ responseMock.addHeader(headerField, "Basic");
+ responseMock.addHeader(headerField, "Digest");
+ responseMock.addHeader(headerField, "NTLM");
+ HttpClientConnection connection = new HttpClientConnection("http://0.0.0.0/");
+ connection.resp = responseMock;
+ List<String> headerValues = connection.getHeaderFields().get(headerField);
+ assertEquals(3, headerValues.size());
+ assertTrue(headerValues.contains("Basic"));
+ assertTrue(headerValues.contains("Digest"));
+ assertTrue(headerValues.contains("NTLM"));
+ }
+
+ private class HttpResponseMock extends AbstractHttpMessage implements HttpResponse {
+ @Override
+ public StatusLine getStatusLine() {
+ return null;
+ }
+
+ @Override
+ public void setStatusLine(StatusLine statusLine) {
+
+ }
+
+ @Override
+ public void setStatusLine(ProtocolVersion protocolVersion, int i) {
+
+ }
+
+ @Override
+ public void setStatusLine(ProtocolVersion protocolVersion, int i, String s) {
+
+ }
+
+ @Override
+ public void setStatusCode(int i) throws IllegalStateException {
+
+ }
+
+ @Override
+ public void setReasonPhrase(String s) throws IllegalStateException {
+
+ }
+
+ @Override
+ public HttpEntity getEntity() {
+ return null;
+ }
+
+ @Override
+ public void setEntity(HttpEntity httpEntity) {
+
+ }
+
+ @Override
+ public Locale getLocale() {
+ return null;
+ }
+
+ @Override
+ public void setLocale(Locale locale) {
+
+ }
+
+ @Override
+ public ProtocolVersion getProtocolVersion() {
+ return null;
+ }
+ }
+}
|