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()); } }