| /* |
| * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are met: |
| * |
| * 1. Redistributions of source code must retain the above copyright notice, this |
| * list of conditions and the following disclaimer. |
| * 2. Redistributions in binary form must reproduce the above copyright notice, |
| * this list of conditions and the following disclaimer in the documentation |
| * and/or other materials provided with the distribution. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
| * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| * |
| * SPDX-License-Identifier: BSD-2-Clause |
| */ |
| |
| package org.glassfish.jersey.examples.bookstore.webapp.resource; |
| |
| import javax.ws.rs.client.WebTarget; |
| |
| import org.junit.Test; |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNotNull; |
| |
| /** |
| * @author James Strachan |
| * @author Naresh |
| * @author Michal Gajdos |
| */ |
| public class ItemTest extends TestSupport { |
| |
| @Test |
| public void testResourceAsHtml() throws Exception { |
| final String response = item1resource().request().get(String.class); |
| assertItemHtmlResponse(response); |
| } |
| |
| @Test |
| public void testResourceAsXml() throws Exception { |
| final String text = item1resource().request("application/xml").get(String.class); |
| System.out.println("Item XML is: " + text); |
| |
| final Book response = item1resource().request("application/xml").get(Book.class); |
| assertNotNull("Should have returned an item!", response); |
| assertEquals("item title", "Svejk", response.getTitle()); |
| } |
| |
| @Test |
| public void testResourceAsHtmlUsingWebKitAcceptHeaders() throws Exception { |
| final String response = item1resource().request( |
| "text/html", |
| "application/xhtml+xml", |
| "application/xml;q=0.9", |
| "*/*;q=0.8").get(String.class); |
| |
| assertItemHtmlResponse(response); |
| } |
| |
| protected void assertItemHtmlResponse(String response) { |
| assertHtmlResponse(response); |
| assertResponseContains(response, "<title>Book</title>"); |
| assertResponseContains(response, "<h1>Svejk</h1>"); |
| } |
| |
| protected WebTarget item1resource() { |
| return target("bookstore-webapp").path("/items/1"); |
| } |
| |
| } |