Search in sources :

Example 46 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method fromLinkTest.

/*
   * @testName: fromLinkTest
   * 
   * @assertion_ids: JAXRS:JAVADOC:892;
   * 
   * @test_Strategy: Create a new instance initialized from a Link.
   */
@Test
public void fromLinkTest() throws Fault {
    URI uri = UriBuilder.fromUri(LOCALHOST).build();
    Link link = Link.fromUri(uri).build();
    URI uri2 = UriBuilder.fromLink(link).build();
    assertTrue(uri.equals(uri2), "URI" + uri + "and" + uri2 + "are not equal");
    logMsg("URI fromLink is equal to the expected URI");
}
Also used : URI(java.net.URI) Link(jakarta.ws.rs.core.Link) Test(org.junit.jupiter.api.Test)

Example 47 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method uriBuilderTest.

/*
     * @testName: uriBuilderTest
     * 
     * @assertion_ids: JAXRS:JAVADOC:1006; JAXRS:JAVADOC:1053;
     * 
     * @test_Strategy: Set underlying URI builder representing the URI template for
     * the link being constructed.
     * 
     * jakarta.ws.rs.ext.RuntimeDelegate.createLinkBuilder
     */
@Test
public void uriBuilderTest() throws Fault {
    String segment = "goto/label/ten/";
    Link link = Link.fromUri(uri(segment)).build();
    UriBuilder uriBuilder = link.getUriBuilder();
    Builder linkBuilder = RuntimeDelegate.getInstance().createLinkBuilder().uriBuilder(uriBuilder);
    String sBuilder = uriBuilder.build().toASCIIString();
    String sFromBuilder = linkBuilder.build().getUri().toASCIIString();
    assertContains(sFromBuilder, sBuilder, "Original builder", sBuilder, "not found in #fromUriBuilder", sFromBuilder);
    logMsg("#fromUriBuilder", sFromBuilder, "contains the original", sBuilder);
}
Also used : Builder(jakarta.ws.rs.core.Link.Builder) UriBuilder(jakarta.ws.rs.core.UriBuilder) UriBuilder(jakarta.ws.rs.core.UriBuilder) Link(jakarta.ws.rs.core.Link) Test(org.junit.jupiter.api.Test)

Example 48 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method uriStringTest.

/*
     * @testName: uriStringTest
     * 
     * @assertion_ids: JAXRS:JAVADOC:813; JAXRS:JAVADOC:1053;
     * 
     * @test_Strategy: Set underlying string representing URI template for the link
     * being constructed.
     * 
     * jakarta.ws.rs.ext.RuntimeDelegate.createLinkBuilder
     */
@Test
public void uriStringTest() throws Fault {
    Link.Builder builder = RuntimeDelegate.getInstance().createLinkBuilder().uri(url());
    Link link = builder.build();
    assertTrue(link.toString().contains(url()), "uri(String) " + url() + " not used in " + link);
    logMsg("#uri(String) affected link", link, "as expected");
}
Also used : Builder(jakarta.ws.rs.core.Link.Builder) Link(jakarta.ws.rs.core.Link) Test(org.junit.jupiter.api.Test)

Example 49 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method buildRelativizedThrowsIAEWhenSuppliedJustOneValueOutOfThreeTest.

/*
     * @testName: buildRelativizedThrowsIAEWhenSuppliedJustOneValueOutOfThreeTest
     * 
     * @assertion_ids: JAXRS:JAVADOC:1054;
     * 
     * @test_Strategy: Throws: java.lang.IllegalArgumentException - if there are any
     * URI template parameters without a supplied value
     */
@Test
public void buildRelativizedThrowsIAEWhenSuppliedJustOneValueOutOfThreeTest() throws Fault {
    // rfc6570
    Builder linkBuilder = Link.fromUri(url() + "{x1}/{x2}/{x3}");
    URI respect = null;
    try {
        respect = new URI(url());
    } catch (URISyntaxException e) {
        fault(e);
    }
    try {
        Link link = linkBuilder.buildRelativized(respect, "p");
        fault("IllegalArgumentException has not been thrown when value is not supplied, link=", link.toString());
    } catch (IllegalArgumentException iae) {
        logMsg("IllegalArgumentException has been thrown as expected when a value has not been supplied");
    }
}
Also used : Builder(jakarta.ws.rs.core.Link.Builder) UriBuilder(jakarta.ws.rs.core.UriBuilder) URISyntaxException(java.net.URISyntaxException) URI(java.net.URI) Link(jakarta.ws.rs.core.Link) Test(org.junit.jupiter.api.Test)

Example 50 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method buildRelativizedDoesNotSharePrefixTest.

/*
     * @testName: buildRelativizedDoesNotSharePrefixTest
     * 
     * @assertion_ids: JAXRS:JAVADOC:1054;
     * 
     * @test_Strategy: If the underlying link is absolute but does not share a
     * prefix with the supplied URI, this method is equivalent to calling
     * build(java.lang.Object[])
     */
@Test
public void buildRelativizedDoesNotSharePrefixTest() throws Fault {
    String relative = "a/b/c";
    String prefix = "ssh";
    URI underlay = null, respect = null;
    try {
        underlay = new URI(url() + relative);
        respect = new URI(url().replace("http", prefix));
    } catch (URISyntaxException e) {
        fault(e);
    }
    Builder linkBuilder = RuntimeDelegate.getInstance().createLinkBuilder();
    linkBuilder = linkBuilder.uri(underlay);
    Link link = linkBuilder.buildRelativized(respect);
    Link build = linkBuilder.build(respect);
    assertContains(link.toString(), relative);
    assertContains(link.toString(), url());
    // |=|
    assertContains(link.toString(), build.getUri().toASCIIString());
    logMsg("When a prefix is not shared, the methods is equivalent to build() as expected");
}
Also used : Builder(jakarta.ws.rs.core.Link.Builder) UriBuilder(jakarta.ws.rs.core.UriBuilder) URISyntaxException(java.net.URISyntaxException) URI(java.net.URI) Link(jakarta.ws.rs.core.Link) Test(org.junit.jupiter.api.Test)

Aggregations

Link (jakarta.ws.rs.core.Link)84 Test (org.junit.jupiter.api.Test)69 Builder (jakarta.ws.rs.core.Link.Builder)37 UriBuilder (jakarta.ws.rs.core.UriBuilder)27 Response (jakarta.ws.rs.core.Response)23 URI (java.net.URI)19 ClientBuilder (jakarta.ws.rs.client.ClientBuilder)14 URISyntaxException (java.net.URISyntaxException)7 Path (jakarta.ws.rs.Path)4 POST (jakarta.ws.rs.POST)3 Client (jakarta.ws.rs.client.Client)3 ClientRequestContext (jakarta.ws.rs.client.ClientRequestContext)3 ClientResponseContext (jakarta.ws.rs.client.ClientResponseContext)3 UriBuilderException (jakarta.ws.rs.core.UriBuilderException)3 GET (jakarta.ws.rs.GET)2 ResponseBuilder (jakarta.ws.rs.core.Response.ResponseBuilder)2 JAXBContext (jakarta.xml.bind.JAXBContext)2 JAXBException (jakarta.xml.bind.JAXBException)2 Marshaller (jakarta.xml.bind.Marshaller)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2