package org.javaee7.jaxws.client; import static org.junit.Assert.*; import java.net.MalformedURLException; import java.net.URL; import java.util.Arrays; import java.util.List; import javax.xml.namespace.QName; import org.javaee7.jaxws.client.gen.EBook; import org.javaee7.jaxws.client.gen.EBookStore; import org.javaee7.jaxws.client.gen.EBookStoreImplService; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.test.api.ArquillianResource; import org.jboss.shrinkwrap.resolver.api.maven.archive.importer.MavenImporter; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.shrinkwrap.api.ArchivePaths; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; /** * @author Fermin Gallego */ @RunWith(Arquillian.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class EBookStoreClientSampleTest { private static EBookStoreImplService eBookStoreService; /** * Method for creating and deploying the war file from 'jaxws-endpoint' project, * which contains the web service to be tested. * * @return a war file */ @Deployment(testable = false) public static WebArchive createDeployment() { return ShrinkWrap.create(MavenImporter.class) .loadPomFromFile("../jaxws-endpoint/pom.xml") .importBuildOutput() .as(WebArchive.class); } @ArquillianResource private URL url; @Before public void setUp() throws Exception { eBookStoreService = new EBookStoreImplService( new URL(url, "EBookStoreImplService?wsdl"), new QName("http://endpoint.jaxws.javaee7.org/", "EBookStoreImplService")); } @Test public void test1WelcomeMessage() throws MalformedURLException { EBookStore eBookStore = eBookStoreService.getEBookStoreImplPort(); String response = eBookStore.welcomeMessage("Jackson"); assertEquals("Welcome to EBookStore WebService, Mr/Mrs Jackson", response); } @Test public void test2SaveAndTakeBook() throws MalformedURLException { EBookStore eBookStore = eBookStoreService.getPort(EBookStore.class); EBook eBook = new EBook(); eBook.setTitle("The Jungle Book"); eBook.setNumPages(225); eBook.setPrice(17.9); eBookStore.saveBook(eBook); eBook = new EBook(); eBook.setTitle("Animal Farm"); eBook.setNumPages(113); eBook.setPrice(22.5); List<String> notes = Arrays.asList(new String[] { "Great book", "Not too bad" }); eBook.getNotes().addAll(notes); eBookStore.saveBook(eBook); EBook response = eBookStore.takeBook("Animal Farm"); assertEquals(eBook.getNumPages(), response.getNumPages()); assertEquals(eBook.getPrice(), response.getPrice(), 0); assertEquals(eBook.getTitle(), response.getTitle()); assertEquals(notes, response.getNotes()); } }