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