package org.ebayopensource.turmeric.tools.codegen; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.HashMap; import java.util.Properties; import org.junit.After; import org.junit.Before; import org.junit.Test; public class BaseConsumerUsingServiceNameQE2Test extends AbstractServiceGeneratorTestCase{ HashMap<String,String> propertiesFileMap; boolean haveProperty,haveScpp; final String CONSUMER_PROPERTIES = "service_consumer_project.properties"; String baseConsumer; File baseConsumerClass; FileInputStream in; FileOutputStream out; Properties pro; File file; File binDir= null; File destDir = null; Properties consumerProper = new Properties(); @Before public void initialize(){ destDir = getTestDestDir(); binDir = testingdir.getFile("bin"); haveProperty = true; haveScpp= true; consumerProper.put("scpp_version","1.1"); consumerProper.put("client_name","Somename"); consumerProper.put("not_generate_base_consumer","newservice,newService1"); } @Test public void testNotGeneratingBaseConusmerScenario2() throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); File consumerProps = createPropertyFile(destDir.getAbsolutePath(),CONSUMER_PROPERTIES); fillProperties(consumerProper, consumerProps); String testArgs1[] = new String[] { "-servicename","NewService", "-genType", "Consumer", "-wsdl",wsdl.getAbsolutePath(), //"-src", "Vanilla-Codegen/ServiceInputFiles", "-dest", destDir.getAbsolutePath(), "-jdest", destDir.getAbsolutePath()+"/src", "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-cn","cname" }; // no scpp_version performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath()+ "/src/org/ebayopensource/turmeric/common/v1/services/gen/BaseNewServiceConsumer.java"; baseConsumerClass = new File(baseConsumer); assertFalse(baseConsumerClass.exists()); } @Test public void testGeneratingBaseConusmerScenario4() throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); haveScpp = false; File consumerProps = createPropertyFile(destDir.getAbsolutePath(),CONSUMER_PROPERTIES); fillProperties(consumerProper, consumerProps); String testArgs1[] = new String[] { "-servicename","NewService12", "-genType", "Consumer", "-wsdl",wsdl.getAbsolutePath(), "-dest", destDir.getAbsolutePath(), "-jdest", destDir.getAbsolutePath()+ "/src", "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-cn","cname" }; performDirectCodeGen(testArgs1, binDir); // no scpp_version //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath() +"/src/org/ebayopensource/turmeric/common/v1/services/gen/BaseNewService12Consumer.java"; baseConsumerClass = new File(baseConsumer); assertTrue(baseConsumerClass.exists()); } @Test public void testGeneratingBaseConusmerScenario5() throws Exception{ // no scpp_version or not_generate... haveProperty = false; haveScpp = false; File consumerProps = createPropertyFile(destDir.getAbsolutePath(),CONSUMER_PROPERTIES); fillProperties(consumerProper, consumerProps); File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs1[] = new String[] { "-servicename","NewService11", "-genType", "Consumer", "-wsdl",wsdl.getAbsolutePath(), //"-src", "Vanilla-Codegen/ServiceInputFiles", "-dest", destDir.getAbsolutePath(), "-jdest", destDir.getAbsolutePath() + "/src", "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-cn","cname" }; performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath() + "/src/org/ebayopensource/turmeric/common/v1/services/gen/BaseNewService11Consumer.java"; baseConsumerClass = new File(baseConsumer); assertTrue(baseConsumerClass.exists()); } @Test public void noPropsFile() throws Exception{ File wsdl = getCodegenQEDataFileInput("AccountService.wsdl"); String testArgs1[] = new String[] { "-servicename","NewService", "-genType", "Consumer", "-wsdl",wsdl.getAbsolutePath(), "-dest",destDir.getAbsolutePath(), "-jdest", destDir.getAbsolutePath() +"/src", "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-cn","cname" }; performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath()+ "/src/org/ebayopensource/turmeric/common/v1/services/gen/BaseNewServiceConsumer.java"; baseConsumerClass = new File(baseConsumer); assertTrue(baseConsumerClass.exists()); } @After public void deinitialize(){ baseConsumer = null; baseConsumerClass = null; propertiesFileMap = null; in = null; out = null; pro = null; file = null; } }