Commit e1bcb6b042d5d8286332522db79ba4627372cc6e

Authored by bernard
1 parent aae05862

URIUtils ignores port

@@ -6,17 +6,18 @@ import java.net.URISyntaxException; @@ -6,17 +6,18 @@ import java.net.URISyntaxException;
6 public class URIUtils { 6 public class URIUtils {
7 // -------------------------- STATIC METHODS -------------------------- 7 // -------------------------- STATIC METHODS --------------------------
8 8
9 - public static URI buildURI(URI base, String path)  
10 - {  
11 - return buildURI(base, path, null);  
12 - } 9 + public static URI buildURI(URI base, String path)
  10 + {
  11 + return buildURI(base, path, null);
  12 + }
13 13
14 - public static URI buildURI(URI base, String path, String query)  
15 - {  
16 - try {  
17 - return new URI(base.getScheme(), base.getHost(), base.getPath().replaceAll("/+$", "") + path, query, null);  
18 - } catch (URISyntaxException e) {  
19 - throw new RuntimeException(e); 14 + public static URI buildURI(URI base, String path, String query)
  15 + {
  16 + try {
  17 + return new URI(base.getScheme(), base.getUserInfo(), base.getHost(), base.getPort(), base.getPath().replaceAll("/+$", "") + path, query,
  18 + base.getFragment());
  19 + } catch (URISyntaxException e) {
  20 + throw new RuntimeException(e);
  21 + }
20 } 22 }
21 - }  
22 } 23 }
@@ -17,16 +17,19 @@ public class URIUtilsTest { @@ -17,16 +17,19 @@ public class URIUtilsTest {
17 public void buildURI() throws URISyntaxException 17 public void buildURI() throws URISyntaxException
18 { 18 {
19 // Given 19 // Given
20 - final URI base = new URI("http://localhost:8080/youtrack/"); 20 + final URI baseA = new URI("http://localhost:8080/youtrack/");
  21 + final URI baseB = new URI("http://localhost/youtrack/");
21 final String pathA = "/rest/admin/bundle/QA note types"; 22 final String pathA = "/rest/admin/bundle/QA note types";
22 final String queryA = "q=" + Filter.stateFilter(StateValues.NotWontFix).maxResults(20); 23 final String queryA = "q=" + Filter.stateFilter(StateValues.NotWontFix).maxResults(20);
23 24
24 // When 25 // When
25 - final URI uriA = URIUtils.buildURI(base, pathA);  
26 - final URI uriB = URIUtils.buildURI(base, pathA, queryA); 26 + final URI uriA = URIUtils.buildURI(baseA, pathA);
  27 + final URI uriB = URIUtils.buildURI(baseA, pathA, queryA);
  28 + final URI uriC = URIUtils.buildURI(baseB, pathA, queryA);
27 29
28 // Then 30 // Then
29 - assertEquals("http://localhost/youtrack/rest/admin/bundle/QA%20note%20types", uriA.toString());  
30 - assertEquals("http://localhost/youtrack/rest/admin/bundle/QA%20note%20types?q=state:-%7BWon't%20fix%7D&max=20", uriB.toString()); 31 + assertEquals("http://localhost:8080/youtrack/rest/admin/bundle/QA%20note%20types", uriA.toString());
  32 + assertEquals("http://localhost:8080/youtrack/rest/admin/bundle/QA%20note%20types?q=state:-%7BWon't%20fix%7D&max=20", uriB.toString());
  33 + assertEquals("http://localhost/youtrack/rest/admin/bundle/QA%20note%20types?q=state:-%7BWon't%20fix%7D&max=20", uriC.toString());
31 } 34 }
32 } 35 }
Please register or login to post a comment