You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2014/02/19 18:45:41 UTC

git commit: AMBARI-4738. Add unit test that verifies escaped urls(ProxyService).(vbrodetskyi)

Repository: ambari
Updated Branches:
  refs/heads/trunk 9dca63fd5 -> 9285f6feb


AMBARI-4738. Add unit test that verifies escaped urls(ProxyService).(vbrodetskyi)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9285f6fe
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9285f6fe
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9285f6fe

Branch: refs/heads/trunk
Commit: 9285f6febf77b53069421876cee807f71570e6c6
Parents: 9dca63f
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Wed Feb 19 19:44:57 2014 +0200
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Wed Feb 19 19:44:57 2014 +0200

----------------------------------------------------------------------
 .../ambari/server/proxy/ProxyServiceTest.java   | 31 ++++++++++++++++++++
 1 file changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/9285f6fe/ambari-server/src/test/java/org/apache/ambari/server/proxy/ProxyServiceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/proxy/ProxyServiceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/proxy/ProxyServiceTest.java
index b90af09..c1ce289 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/proxy/ProxyServiceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/proxy/ProxyServiceTest.java
@@ -37,6 +37,7 @@ import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED_TYPE;
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
@@ -265,6 +266,36 @@ class ProxyServiceTest extends BaseServiceTest {
     assertSame(resultForGetRequest, responseMock);
   }
 
+  @Test
+  public void testEscapedURL() throws Exception {
+    ProxyService ps = new ProxyService();
+    URLStreamProvider streamProviderMock = PowerMock.createNiceMock(URLStreamProvider.class);
+    MultivaluedMap<String, String> headerParams = new MultivaluedMapImpl();
+    HttpURLConnection urlConnectionMock = createMock(HttpURLConnection.class);
+    URI uri = UriBuilder.fromUri("http://dev01.hortonworks.com:8080/proxy?url=http%3a%2f%2fserver%3a8188%2fws%2fv1%2f" +
+     "apptimeline%2fHIVE_QUERY_ID%3ffields=events%2cprimaryfilters%26limit=10%26primaryFilter=user%3ahiveuser1").build();
+    Map<String, List<String>> headerParamsToForward = new HashMap<String, List<String>>();
+    InputStream is = new ByteArrayInputStream("test".getBytes());
+    List<String> userRemoteParams = new LinkedList<String>();
+    userRemoteParams.add("testuser");
+    headerParams.add("AmbariProxy-User-Remote","testuser");
+    headerParams.add("Content-Type","testtype");
+    headerParamsToForward.put("User-Remote", userRemoteParams);
+    expect(getHttpHeaders().getRequestHeaders()).andReturn(headerParams);
+    expect(getHttpHeaders().getRequestHeader("AmbariProxy-User-Remote")).andReturn(userRemoteParams);
+    expect(getUriInfo().getRequestUri()).andReturn(uri);
+    expect(urlConnectionMock.getResponseCode()).andReturn(200);
+    expect(urlConnectionMock.getContentType()).andReturn("text/plain");
+    expect(urlConnectionMock.getInputStream()).andReturn(is);
+    PowerMock.expectNew(URLStreamProvider.class, 3000, 3000, null, null, null).andReturn(streamProviderMock);
+    expect(streamProviderMock.processURL("http://server:8188/ws/v1/apptimeline/HIVE_QUERY_ID?fields=events,primary" +
+     "filters&limit=10&primaryFilter=user:hiveuser1", "GET", null, headerParamsToForward)).andReturn(urlConnectionMock);
+    PowerMock.replay(streamProviderMock, URLStreamProvider.class);
+    replay(getUriInfo(), urlConnectionMock, getHttpHeaders());
+    ps.processGetRequestForwarding(getHttpHeaders(),getUriInfo());
+
+  }
+
   @Override
   public List<ServiceTestInvocation> getTestInvocations() throws Exception {
     return Collections.emptyList();