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:783;
*
* @test_Strategy: Throws: java.lang.IllegalArgumentException - if path is null.
*/
@Test
public void fromLinkTest() throws Fault {
Link link = RuntimeDelegate.getInstance().createLinkBuilder().baseUri(url()).rel("relation relation2").title("titleX").param("param1", "value1").param("param2", "value2").type(MediaType.APPLICATION_OCTET_STREAM).build();
Link fromLink = Link.fromLink(link).build();
assertEquals(link, fromLink, "fromLink(link)=", fromLink, "differes from original Link", link);
logMsg("fromLink() is equal to original link", link, "as expected");
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method getRelsTest.
/*
* @testName: getRelsTest
*
* @assertion_ids: JAXRS:JAVADOC:956;
*
* @test_Strategy: Returns the value associated with the link "rel" param as a
* list of strings or the empty list if "rel" is not defined.
*/
@Test
public void getRelsTest() throws Fault {
String[] rels = { "RELREL", "REL", "relrelrel", "RELRELREL" };
Builder builder = Link.fromUri(uri("get"));
for (int i = 0; i != rels.length; i++) builder = builder.rel(rels[i]);
Link link = builder.build();
assertNotNull(link.getRels(), "#getRels is null");
assertEqualsInt(link.getRels().size(), 4, "Unexpected #getRels size", link.getRels().size(), "Should be 4");
String list = ";" + JaxrsUtil.iterableToString(";", link.getRels()) + ";";
for (int i = 0; i != rels.length; i++) assertContains(list, ";" + rels[i] + ";", "Relation", rels[i], "has not been found in #getRels", list);
logMsg("#getRel() return expected rels", list);
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method getTypeIsNullTest.
/*
* @testName: getTypeIsNullTest
*
* @assertion_ids: JAXRS:JAVADOC:795;
*
* @test_Strategy: Returns the value associated with the link "type" param, or
* null if this param is not specified.
*/
@Test
public void getTypeIsNullTest() throws Fault {
Link link = linkFromResource("get");
String type = link.getType();
assertTrue(type == null, "#getType is unexpected " + type);
logMsg("#getType( returns null as expected");
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method getUriTest.
/*
* @testName: getUriTest
*
* @assertion_ids: JAXRS:JAVADOC:796;
*
* @test_Strategy: Returns the underlying URI associated with this link.
*/
@Test
public void getUriTest() throws Fault {
URI uri = uri("get");
Builder builder = Link.fromUri(uri);
Link link = builder.build();
URI uriFromLink = link.getUri();
assertTrue(uri.equals(uriFromLink), "#getUri() " + uriFromLink + " differes from original uri " + uri);
logMsg("Original URI", uri, "equals obtained", uriFromLink);
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method fromResourceMethodLinkUsedInInvocationTest.
/*
* @testName: fromResourceMethodLinkUsedInInvocationTest
*
* @assertion_ids: JAXRS:JAVADOC:787;
*
* @test_Strategy: Generate a link by introspecting a resource method.
*/
@Test
public void fromResourceMethodLinkUsedInInvocationTest() throws Fault {
final String linkName = "link";
Client client = ClientBuilder.newClient();
client.register(new ClientRequestFilter() {
@Override
public void filter(ClientRequestContext ctx) throws IOException {
String uri = ctx.getUri().toASCIIString();
Link.Builder builder = Link.fromMethod(Resource.class, "consumesAppJson").rel(linkName);
Link link = builder.build();
Response response = Response.ok(uri).links(link).build();
ctx.abortWith(response);
}
});
// Phase 1, ask for a link;
WebTarget target = client.target(url() + "resource/get");
Response response = target.request().get();
String entity = response.readEntity(String.class);
assertTrue(response.hasLink(linkName), "No link received");
assertContains(url() + "resource/get", entity);
// Phase 2, use the link, check the correctness
assertTrue(response.hasLink(linkName), "No link received");
Link link = response.getLink(linkName);
response = client.invocation(link).post(null);
entity = response.readEntity(String.class);
assertTrue(response.hasLink(linkName), "No link received");
assertContains(url() + "resource/consumesappjson", entity);
logMsg("Opaque Link has been used in Client.invocation() sucessfully");
}
Aggregations