package org.ebayopensource.turmeric.tools.codegen; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.File; import java.util.List; import org.apache.commons.io.FileUtils; import org.junit.Before; import org.junit.Test; public class ToolsUpdateNsGenTypeServerClientConfigTest extends AbstractServiceGeneratorTestCase { String namespace; String marketplace_ns; File destDir = null; File prDir = null; File binDir = null; @Before public void init() throws Exception{ testingdir.ensureEmpty(); destDir = testingdir.getDir(); binDir = testingdir.getFile("bin"); namespace = "http://www.ebayopensource.org/new/namespace"; marketplace_ns = "http://www.ebayopensource.org/turmeric/common/v1/services"; } @Test // after 2.4 service name and namespace is removed. public void generateServiceConfig() throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs[] = new String[] { "-genType","ServiceMetadataProps", "-interface","org/ebayopensource/qaservices/calculatorservice/intf/CalculatorServiceSkeletonInterface", "-serviceName","NewService", "-namespace","http://www.ebayopensource.org/new/namespace", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs, binDir); String testArgs1[] = new String[] { "-genType","ServerConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); boolean check = false; performDirectCodeGen(testArgs1,binDir); String serviceConfigpath = destDir.getAbsolutePath()+"/gen-meta-src/META-INF/soa/services/config/NewService/ServiceConfig.xml"; File file = new File(serviceConfigpath); assertTrue(file.exists()); List<String> firstFile = FileUtils.readLines(file); for(String s: firstFile){ if(s.contains(namespace)) check = true; } assertFalse(check); } @Test public void generateClientConfig() throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs[] = new String[] { "-genType","ServiceMetadataProps", "-interface","org/ebayopensource/qaservices/calculatorservice/intf/CalculatorServiceSkeletonInterface", "-serviceName","NewService", "-namespace","http://www.ebayopensource.org/new/namespace", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs, binDir); String testArgs1[] = new String[] { "-genType","ClientConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); boolean check = false; performDirectCodeGen(testArgs1,binDir); String clientConfigpath = destDir.getAbsolutePath()+"/gen-meta-src/META-INF/soa/client/config/NewService/ClientConfig.xml"; File file = new File(clientConfigpath); assertTrue(file.exists()); List<String> firstFile = FileUtils.readLines(file); for(String s: firstFile){ if(s.contains(marketplace_ns)) check = true; } assertFalse(check); } @Test //after 2.4 service name and namespace is removed. public void generateServerConfigWithNs()throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs[] = new String[] { "-genType","ServiceMetadataProps", "-interface","org/ebayopensource/qaservices/calculatorservice/intf/CalculatorServiceSkeletonInterface", "-serviceName","NewService", "-namespace","http://www.ebayopensource.org/new/namespace", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs, binDir); String testArgs1[] = new String[] { "-genType","ServerConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-namespace","http://www.ebayopensource.org/new/namespace", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); boolean check = false; performDirectCodeGen(testArgs1,binDir); String serviceConfigpath = destDir.getAbsolutePath()+"/gen-meta-src/META-INF/soa/services/config/NewService/ServiceConfig.xml"; File file = new File(serviceConfigpath); assertTrue(file.exists()); List<String> firstFile = FileUtils.readLines(file); for(String s: firstFile){ if(s.contains(namespace)) check = true; } assertFalse(check); } @Test public void generateClientConfigWithNs()throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs[] = new String[] { "-genType","ServiceMetadataProps", "-interface","org/ebayopensource/qaservices/calculatorservice/intf/CalculatorServiceSkeletonInterface", "-serviceName","NewService", "-namespace","http://www.ebayopensource.org/new/namespace", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs, binDir); String testArgs1[] = new String[] { "-genType","ClientConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-namespace","http://www.ebayopensource.org/new/namespace", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); boolean check = false; performDirectCodeGen(testArgs1,binDir); String clientConfigpath = destDir.getAbsolutePath()+"/gen-meta-src/META-INF/soa/client/config/NewService/ClientConfig.xml"; File file = new File(clientConfigpath); assertTrue(file.exists()); List<String> firstFile = FileUtils.readLines(file); for(String s: firstFile){ if(s.contains(namespace)) check = true; } assertTrue(check); } /*@Test //after 2.4 service name and namespace is removed. public void generateServerConfigWithNsInCodegenAndMetadata()throws Exception{ input1.setNamespace("http://www.ebay.com/new/namespace"); sgen.startCodeGen(this.setInputParameters(input)); sgen.startCodeGen(this.setInputParameters(input1)); File file = new File(CodegenUtils.getPath("ServiceConfig","NewService","AntTests/output/")); assertTrue(file.exists()); assertFalse(Utils.searchStringInFile(CodegenUtils.getPath("ServiceConfig","NewService","AntTests/output/"),namespace)); file.delete(); }*/ /*@Test public void generateClientConfigWithNsInCodegenAndMetadata()throws Exception{ input2.setNamespace("http://www.ebay.com/new/namespace"); sgen.startCodeGen(this.setInputParameters(input)); sgen.startCodeGen(this.setInputParameters(input2)); File file = new File(CodegenUtils.getPath("ClientConfig","NewService","AntTests/output/")); assertTrue(file.exists()); assertTrue(Utils.searchStringInFile(CodegenUtils.getPath("ClientConfig","NewService","AntTests/output/"),namespace)); file.delete(); } */ @Test //after 2.4 service name and namespace is removed. public void generateServerConfigNoNs()throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs1[] = new String[] { "-genType","ServerConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); boolean check = false; performDirectCodeGen(testArgs1,binDir); String serviceConfigpath = destDir.getAbsolutePath()+"/gen-meta-src/META-INF/soa/services/config/NewService/ServiceConfig.xml"; File file = new File(serviceConfigpath); assertTrue(file.exists()); List<String> firstFile = FileUtils.readLines(file); for(String s: firstFile){ if(s.contains(namespace)) check = true; } assertFalse(check); } @Test public void generateClientConfigNoNs()throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs1[] = new String[] { "-genType","ClientConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); boolean check = false; performDirectCodeGen(testArgs1,binDir); String clientConfigpath = destDir.getAbsolutePath()+"/gen-meta-src/META-INF/soa/client/config/NewService/ClientConfig.xml"; File file = new File(clientConfigpath); assertTrue(file.exists()); List<String> firstFile = FileUtils.readLines(file); for(String s: firstFile){ if(s.contains(marketplace_ns)) check = true; } assertTrue(check); } @Test(expected = Exception.class) public void generateServerConfigNullStringNs()throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs1[] = new String[] { "-genType","ServerConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-namespace","", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); } @Test(expected = Exception.class) public void generateClientConfigNullStringNsNs()throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs1[] = new String[] { "-genType","ClientConfig", "-wsdl",wsdl.getAbsolutePath(), "-serviceName","NewService", "-namespace","", "-scv","1.0.0", "-dest",destDir.getAbsolutePath(), "-src",destDir.getAbsolutePath(), "-bin",binDir.getAbsolutePath(), }; performDirectCodeGen(testArgs1, binDir); } }