1   package com.eviware.soapui.impl.rest.support;
2   
3   import com.eviware.soapui.impl.rest.RestRequest;
4   import com.eviware.soapui.impl.rest.RestRequest;
5   import com.eviware.soapui.impl.rest.RestRequestInterface;
6   import com.eviware.soapui.impl.rest.RestResource;
7   import com.eviware.soapui.impl.rest.RestService;
8   import com.eviware.soapui.impl.rest.RestServiceFactory;
9   import com.eviware.soapui.impl.wsdl.WsdlProject;
10  import junit.framework.TestCase;
11  
12  import java.io.File;
13  
14  public class RestUtilsTestCase extends TestCase
15  {
16  	public void testExtractTemplateParams() throws Exception
17  	{
18  		String path = "/{id}/test/{test}/test";
19  		
20  		String[] params = RestUtils.extractTemplateParams( path );
21  		assertEquals( params.length, 2 );
22  		assertEquals( "id", params[0] );
23  		assertEquals( "test", params[1] );
24  	}
25  	
26  	public void testImportWadl() throws Exception
27  	{
28  		WsdlProject project = new WsdlProject();
29  		RestService service = (RestService) project.addNewInterface("Test", RestServiceFactory.REST_TYPE );
30  
31        new WadlImporter( service ).initFromWadl(
32  				new File( "src" + File.separatorChar + "test-resources" + File.separatorChar + "wadl" + File.separatorChar + "YahooSearch.wadl"
33              ).toURI().toURL().toString() );
34  		
35  	   assertEquals( 1, service.getOperationCount() );
36  	   assertEquals("/NewsSearchService/V1/", service.getBasePath());
37  		
38  	   RestResource resource = service.getOperationAt( 0 );
39  	   
40  	   assertEquals( 1, resource.getPropertyCount());
41  	   assertEquals("appid", resource.getPropertyAt(0).getName());
42  	   assertNotNull(resource.getProperty("appid"));
43  	   assertEquals( 1, resource.getRequestCount() );
44  	   
45  	   RestRequest request = resource.getRequestAt(0);
46  	   assertEquals( RestRequestInterface.RequestMethod.GET, request.getMethod() );
47  	   assertEquals( 9, request.getPropertyCount() );
48  	}
49  }