@Test public void testGetUnformatServiceList() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); WebResponse res = client.getResponse(CONTEXT_URL + "/services?formatted=false"); assertTrue(res.getText().contains("http://localhost/mycontext/services/greeter3")); assertTrue(res.getText().contains("http://localhost/mycontext/services/greeter2")); assertTrue(res.getText().contains("http://localhost/mycontext/services/greeter")); }
@Test public void testGetServiceList() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); //test the '/' context get service list WebResponse res = client.getResponse(CONTEXT_URL + "/"); WebLink[] links = res.getLinks(); assertEquals("Wrong number of service links", 3, links.length); Set<String> links2 = new HashSet<>(); for (WebLink l : links) { links2.add(l.getURLString()); } assertEquals("text/html", res.getContentType()); }
private void testInvokingBookService(String serviceAddress) throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + serviceAddress); WebResponse response = client.getResponse(req); InputStream in = response.getInputStream(); InputStream expected = JaxRsServletTest.class .getResourceAsStream("resources/expected_get_book123.txt"); assertEquals(" Can't get the expected result ", getStringFromInputStream(expected), getStringFromInputStream(in)); }
@Test public void testIgnoreServiceList() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/"); try { client.getResponse(req); fail(); } catch (HttpNotFoundException ex) { // expected } } }
@Test public void testGetServiceList() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); //test the '/' context get service list WebResponse res = client.getResponse(CONTEXT_URL + "/"); WebLink[] links = res.getLinks(); assertEquals("Wrong number of service links", 6, links.length); Set<String> links2 = new HashSet<>(); for (WebLink l : links) { links2.add(l.getURLString()); } assertTrue(links2.contains(FORCED_BASE_ADDRESS + "/greeter?wsdl")); assertTrue(links2.contains(FORCED_BASE_ADDRESS + "/greeter2?wsdl")); assertEquals("text/html", res.getContentType()); //HTTPUnit do not support require url with "" /* res = client.getResponse(CONTEXT_URL); links = res.getLinks(); assertEquals("There should get two links for the services", 1, links.length); assertEquals(CONTEXT_URL + "/greeter?wsdl", links[0].getURLString()); assertEquals(CONTEXT_URL + "/greeter2?wsdl", links[1].getURLString()); assertEquals("text/html", res.getContentType());*/ }
private void invoke(String encoding) throws Exception { WebRequest req = new PostMethodWebRequest(CONTEXT_URL + "/services/greeter", getClass().getResourceAsStream("GreeterMessage.xml"), "text/xml; charset=" + encoding); ServletUnitClient client = newClient(); WebResponse response = client.getResponse(req); client.setExceptionsThrownOnErrorStatus(false); assertEquals("text/xml", response.getContentType()); assertTrue(encoding.equalsIgnoreCase(response.getCharacterSet())); Document doc = StaxUtils.read(response.getInputStream()); assertNotNull(doc); addNamespace("h", "http://apache.org/hello_world_soap_http/types"); assertValid("/s:Envelope/s:Body", doc); assertValid("//h:sayHiResponse", doc); }
@Test public void testInvalidServiceUrl() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); WebResponse res = client.getResponse(CONTEXT_URL + "/services/NoSuchService"); assertEquals(404, res.getResponseCode()); assertEquals("text/html", res.getContentType()); }
@Test public void testGetServiceList() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); WebResponse res = client.getResponse(CONTEXT_URL + "/services"); WebLink[] links = res.getLinks(); assertEquals("Wrong number of service links", 6, links.length); Set<String> links2 = new HashSet<>(); for (WebLink l : links) { links2.add(l.getURLString()); } assertTrue(links2.contains(CONTEXT_URL + "/services/greeter?wsdl")); assertTrue(links2.contains(CONTEXT_URL + "/services/greeter2?wsdl")); assertTrue(links2.contains("http://cxf.apache.org/MyGreeter?wsdl")); assertEquals("text/html", res.getContentType()); res = client.getResponse(CONTEXT_URL + "/services/"); links = res.getLinks(); links2.clear(); for (WebLink l : links) { links2.add(l.getURLString()); } assertEquals("Wrong number of service links", 6, links.length); assertTrue(links2.contains(CONTEXT_URL + "/services/greeter?wsdl")); assertTrue(links2.contains(CONTEXT_URL + "/services/greeter2?wsdl")); assertTrue(links2.contains("http://cxf.apache.org/MyGreeter?wsdl")); assertEquals("text/html", res.getContentType()); // Ensure that the Bus is available for people doing an Endpoint.publish() or similar. assertNotNull(BusFactory.getDefaultBus(false)); }
@Test public void testGetWSDLWithXMLBinding() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter2?wsdl"); WebResponse res = client.getResponse(req); assertEquals(200, res.getResponseCode()); assertEquals("text/xml", res.getContentType()); Document doc = StaxUtils.read(res.getInputStream()); assertNotNull(doc); addNamespace("http", "http://schemas.xmlsoap.org/wsdl/http/"); assertValid("//wsdl:operation[@name='greetMe']", doc); NodeList addresses = assertValid("//http:address/@location", doc); boolean found = true; for (int i = 0; i < addresses.getLength(); i++) { String address = addresses.item(i).getLocalName(); if (address.startsWith("http://localhost") && address.endsWith("/services/greeter2")) { found = true; break; } } assertTrue(found); }
@Test public void testServiceListWithLoopAddress() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(false); WebResponse res = client.getResponse(CONTEXT_URL + "/services"); assertTrue(res.getText().contains("http://localhost/mycontext/services/greeter3")); assertTrue(res.getText().contains("http://localhost/mycontext/services/greeter2")); assertTrue(res.getText().contains("http://localhost/mycontext/services/greeter")); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter?wsdl"); res = client.getResponse(req); req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter2?wsdl"); res = client.getResponse(req); req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter3?wsdl"); res = client.getResponse(req); String loopAddr = "http://127.0.0.1/mycontext"; res = client.getResponse(loopAddr + "/services"); assertFalse(res.getText().contains( "http://127.0.0.1/mycontext/serviceshttp://localhost/mycontext/services/greeter")); }
@Test public void testGetImportedXSD() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter?wsdl"); WebResponse res = client.getResponse(req); assertEquals(200, res.getResponseCode()); String text = res.getText(); assertEquals("text/xml", res.getContentType()); assertTrue(text.contains(CONTEXT_URL + "/services/greeter?wsdl=test_import.xsd")); req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter?wsdl=test_import.xsd"); res = client.getResponse(req); assertEquals(200, res.getResponseCode()); text = res.getText(); assertEquals("text/xml", res.getContentType()); assertTrue("the xsd should contain the completType SimpleStruct", text.contains("<complexType name=\"SimpleStruct\">")); }
@Test public void testGetWSDL() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter?wsdl"); WebResponse res = client.getResponse(req); assertEquals(200, res.getResponseCode()); assertEquals("text/xml", res.getContentType()); Document doc = StaxUtils.read(res.getInputStream()); assertNotNull(doc); assertValid("//wsdl:operation[@name='greetMe']", doc); assertValid("//wsdlsoap:address[@location='" + CONTEXT_URL + "/services/greeter']", doc); }
@Test public void testGetWSDLWithMultiplePublishedEndpointUrl() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter5?wsdl"); WebResponse res = client.getResponse(req); assertEquals(200, res.getResponseCode()); assertEquals("text/xml", res.getContentType()); Document doc = StaxUtils.read(res.getInputStream()); assertNotNull(doc); WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); wsdlReader.setFeature("javax.wsdl.verbose", false); assertValid("//wsdl:service[@name='SOAPService']/wsdl:port[@name='SoapPort']/wsdlsoap:address[@location='" + "http://cxf.apache.org/publishedEndpointUrl1']", doc); assertValid("//wsdl:service[@name='SOAPService']/wsdl:port[@name='SoapPort1']/wsdlsoap:address[@location='" + "http://cxf.apache.org/publishedEndpointUrl2']", doc); } @Test
@Test public void testGetWSDLWithIncludes() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true); WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter3?wsdl"); WebResponse res = client.getResponse(req); assertEquals(200, res.getResponseCode()); assertEquals("text/xml", res.getContentType()); Document doc = StaxUtils.read(res.getInputStream()); assertNotNull(doc); assertXPathEquals("//xsd:include/@schemaLocation", "http://localhost/mycontext/services/greeter3?xsd=hello_world_includes2.xsd", doc.getDocumentElement()); req = new GetMethodQueryWebRequest(CONTEXT_URL + "/services/greeter3?xsd=hello_world_includes2.xsd"); res = client.getResponse(req); assertEquals(200, res.getResponseCode()); assertEquals("text/xml", res.getContentType()); doc = StaxUtils.read(res.getInputStream()); assertNotNull(doc); assertValid("//xsd:complexType[@name='ErrorCode']", doc); }
@Test public void testGetWSDL() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true);
@Test public void testGetWSDL() throws Exception { ServletUnitClient client = newClient(); client.setExceptionsThrownOnErrorStatus(true);