use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method unmarshallTest.
/*
* @testName: unmarshallTest
*
* @assertion_ids: JAXRS:JAVADOC:815; JAXRS:JAVADOC:816; JAXRS:JAVADOC:818;
*
* @test_Strategy: Test whether a class with Link can be unmarshalled fine
*/
@Test
public void unmarshallTest() throws Fault {
Link link = RuntimeDelegate.getInstance().createLinkBuilder().uri(url).title(title).rel(rel).type(media).param(param_names[0], param_vals[0]).param(param_names[1], param_vals[1]).build();
Model model = new Model(link);
ByteArrayOutputStream ostream = new ByteArrayOutputStream(1000);
JAXBContext jc = null;
Marshaller marshaller = null;
byte[] array = null;
Unmarshaller unmarshaller = null;
ByteArrayInputStream istream = null;
Model unmarshalledModel = null;
try {
jc = JAXBContext.newInstance(Model.class);
marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(model, ostream);
array = ostream.toByteArray();
istream = new ByteArrayInputStream(array);
jc = JAXBContext.newInstance(Model.class);
unmarshaller = jc.createUnmarshaller();
unmarshalledModel = (Model) unmarshaller.unmarshal(istream);
link = unmarshalledModel.getLink();
assertContains(link.toString(), url, "unmarshalled link", link, "does not contain expected url", url);
assertContains(link.getRel(), rel, "unmarshalled link", link, "does not contain expected relation", rel);
assertContains(link.getTitle(), title, "unmarshalled link", link, "does not contain expected title", title);
assertContains(link.getType(), media, "unmarshalled link", link, "does not contain expected media type", media);
assertTrue(link.getParams().size() > 2, "unmarshalled link " + link + " does not contain expected parameters");
assertContains(link.getParams().get(param_names[0]), param_vals[0], "unmarshalled link", link, "does not contain expected parameter", param_names[0], "=", param_vals[0]);
assertContains(link.getParams().get(param_names[1]), param_vals[1], "unmarshalled link", link, "does not contain expected parameter", param_names[1], "=", param_vals[1]);
logMsg("unmarshalled Link contains expected url, title, media type, and parameters", link);
} catch (JAXBException e) {
throw new Fault(e);
}
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class BuilderClientIT method linkStringStringTest.
/*
* @testName: linkStringStringTest
*
* @assertion_ids: JAXRS:JAVADOC:881;
*
* @test_Strategy: Add a link header.
*/
@Test
public void linkStringStringTest() throws Fault {
String rel = "REL";
Response response = Response.ok().link(URL, rel).build();
Link link = response.getLink(rel);
assertTrue(link != null, "link is null");
assertTrue(link.toString().contains(URL), "link" + link + "does not contain expected" + URL);
logMsg("Found expected link", link);
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method uriUriTest.
/*
* @testName: uriUriTest
*
* @assertion_ids: JAXRS:JAVADOC:812; JAXRS:JAVADOC:1053;
*
* @test_Strategy: Set underlying URI template for the link being constructed.
*
* jakarta.ws.rs.ext.RuntimeDelegate.createLinkBuilder
*/
@Test
public void uriUriTest() throws Fault {
URI uri = uri("get");
Link.Builder builder = RuntimeDelegate.getInstance().createLinkBuilder().uri(uri);
Link link = builder.build();
assertTrue(link.toString().contains(uri.toASCIIString()), "uri(URI) " + uri + " not used in " + link);
logMsg("#uri(URI) affected link", link, "as expected");
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method linkStringTest.
/*
* @testName: linkStringTest
*
* @assertion_ids: JAXRS:JAVADOC:1043; JAXRS:JAVADOC:1053;
*
* @test_Strategy: Initialize builder using another link represented as a
* string. Uses simple parser to convert string representation into a link.
*/
@Test
public void linkStringTest() throws Fault {
String title = "Ttttlll";
String rel = "RlrL";
String[] params = { "Param1", "parAM2", "paRam3" };
String[] values = { "vAlUe", "ValuEe", "VVallue" };
StringBuilder sb = new StringBuilder().append("<").append(url()).append(">;").append("rel=\"").append(rel).append("\";");
for (int i = 0; i != params.length; i++) sb = sb.append(params[i]).append("=\"").append(values[i]).append("\";");
sb = sb.append("title=\"").append(title).append("\";");
sb = sb.append("type=\"").append(MediaType.TEXT_XML).append("\"");
String originalLink = sb.toString();
Builder lb = RuntimeDelegate.getInstance().createLinkBuilder();
lb = lb.link(originalLink);
Link link = lb.build();
// rel & title is param of Link
assertContains(link.getRel(), rel, "link(Link) does not pass relation");
assertContains(link.getTitle(), title, "link(Link) does noot pass title");
assertContains(link.getType(), MediaType.TEXT_XML, "link(Link) does not pass type");
assertParams(link, params, values);
assertContains(link.toString(), url());
logMsg("parameters and underlaying URI were copied as expected to a new link", link);
}
use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method linkLinkTest.
/*
* @testName: linkLinkTest
*
* @assertion_ids: JAXRS:JAVADOC:1042; JAXRS:JAVADOC:1053;
*
* @test_Strategy: Initialize builder using another link. Sets underlying URI
* and copies all parameters.
* jakarta.ws.rs.ext.RuntimeDelegate.createLinkBuilder
*/
@Test
public void linkLinkTest() throws Fault {
String title = "Ttttlll";
String rel = "RlrL";
String[] params = { "Param1", "parAM2", "paRam3" };
String[] values = { "vAlUe", "ValuEe", "VVallue" };
Builder lb = RuntimeDelegate.getInstance().createLinkBuilder();
lb = lb.baseUri(url()).title(title).rel(rel).type(MediaType.TEXT_XML);
for (int i = 0; i != params.length; i++) lb = lb.param(params[i], values[i]);
Link link = lb.build();
Builder lb2 = RuntimeDelegate.getInstance().createLinkBuilder();
lb2 = lb2.link(link);
link = lb2.build();
// rel & title is param of Link
assertContains(link.getRel(), rel, "link(Link) does not pass relation");
assertContains(link.getTitle(), title, "link(Link) does noot pass title");
assertContains(link.getType(), MediaType.TEXT_XML, "link(Link) does not pass type");
assertParams(link, params, values);
assertContains(link.toString(), url());
logMsg("parameters and underlaying URI were copied as expected to a new link", link);
}
Aggregations