Repository: cxf
Updated Branches:
  refs/heads/master 826bf21ae -> bfe64272d


[CXF-6676] Adding a test


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/bfe64272
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/bfe64272
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/bfe64272

Branch: refs/heads/master
Commit: bfe64272daa1f32d40eeb0b16d000c54a134b1d2
Parents: 826bf21
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Thu Nov 19 21:28:00 2015 +0000
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Thu Nov 19 21:28:00 2015 +0000

----------------------------------------------------------------------
 .../tools/wadlto/jaxrs/JAXRSContainerTest.java  | 48 ++++++++++++++++++++
 .../src/test/resources/wadl/testComplexPath.xml | 13 ++++++
 2 files changed, 61 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/bfe64272/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
----------------------------------------------------------------------
diff --git 
a/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
 
b/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
index 5c0ab34..bbcde20 100644
--- 
a/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
+++ 
b/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
@@ -28,7 +28,10 @@ import java.net.URLClassLoader;
 import java.util.List;
 
 import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
 import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
 import javax.ws.rs.QueryParam;
 
 import org.apache.cxf.helpers.FileUtils;
@@ -405,6 +408,51 @@ public class JAXRSContainerTest extends ProcessorTestBase {
         }
     }
     
+    @Test
+    public void testComplexPath() {
+        try {
+            JAXRSContainer container = new JAXRSContainer(null);
+
+            ToolContext context = new ToolContext();
+            context.put(WadlToolConstants.CFG_OUTPUTDIR, 
output.getCanonicalPath());
+            context.put(WadlToolConstants.CFG_WADLURL, 
getLocation("/wadl/testComplexPath.xml"));
+            context.put(WadlToolConstants.CFG_COMPILE, "true");
+
+            container.setContext(context);
+            container.execute();
+
+            assertNotNull(output.list());
+            
+            List<File> files = FileUtils.getFilesRecurse(output, ".+\\." + 
"class" + "$");
+            assertEquals(1, files.size());
+            assertTrue(checkContains(files, "application.Resource.class"));
+            @SuppressWarnings("resource")
+            ClassLoader loader = new URLClassLoader(new URL[] 
{output.toURI().toURL() });
+            
+            Class<?> test1 = loader.loadClass("application.Resource");
+            Method[] test1Methods = test1.getDeclaredMethods();
+            assertEquals(1, test1Methods.length);
+            assertEquals(2, test1Methods[0].getAnnotations().length);
+            assertNotNull(test1Methods[0].getAnnotation(GET.class));           
 
+            Path path = test1Methods[0].getAnnotation(Path.class);
+            assertNotNull(path);
+            assertEquals("/get-add-method", path.value());
+            
+            assertEquals("getGetaddmethod", test1Methods[0].getName());
+            Class<?>[] paramTypes = test1Methods[0].getParameterTypes();
+            assertEquals(1, paramTypes.length);
+            Annotation[][] paramAnns = 
test1Methods[0].getParameterAnnotations();
+            assertEquals(String.class, paramTypes[0]);
+            assertEquals(1, paramAnns[0].length);
+            PathParam test1PathParam1 = (PathParam)paramAnns[0][0];
+            assertEquals("id", test1PathParam1.value());
+            
+        } catch (Exception e) {
+            e.printStackTrace();
+            fail();
+        }
+    }
+    
     @Test    
     public void testCodeGenWithImportedSchemaAndResourceSet() {
         try {

http://git-wip-us.apache.org/repos/asf/cxf/blob/bfe64272/tools/wadlto/jaxrs/src/test/resources/wadl/testComplexPath.xml
----------------------------------------------------------------------
diff --git a/tools/wadlto/jaxrs/src/test/resources/wadl/testComplexPath.xml 
b/tools/wadlto/jaxrs/src/test/resources/wadl/testComplexPath.xml
new file mode 100644
index 0000000..372ca85
--- /dev/null
+++ b/tools/wadlto/jaxrs/src/test/resources/wadl/testComplexPath.xml
@@ -0,0 +1,13 @@
+<application xmlns="http://wadl.dev.java.net/2009/02"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; >
+       <grammars />
+       <resources>
+        <resource path="/">
+       <resource path="/get-add-method">
+        <param name="id" style="template"/>
+        <method name="GET">
+          <response/>
+        </method>
+      </resource>
+     </resource>
+       </resources>
+</application>

Reply via email to