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.io.IOException; import java.util.Properties; import org.ebayopensource.turmeric.tools.codegen.AbstractServiceGeneratorTestCase; import org.ebayopensource.turmeric.tools.codegen.ServiceGenerator; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; public class BaseConsumerChangesQE2Test extends AbstractServiceGeneratorTestCase { final String INTF_PROPERTIES = "service_intf_project.properties"; final String CONSUMER_PROPERTIES = "service_consumer_project.properties"; Properties consumerProper = new Properties(); boolean haveProperty,haveScpp; ServiceGenerator sgen; String baseConsumer; File baseConsumerClass; FileInputStream in; FileOutputStream out; Properties pro; File file; File binDir = null; File destDir = null; @Before public void initialize() throws IOException{ haveProperty = true; haveScpp = true; testingdir.ensureEmpty(); destDir = testingdir.getDir(); binDir = testingdir.getFile("bin"); consumerProper.put("scpp_version", "1.1"); consumerProper.put("client_name","Somename"); consumerProper.put("not_generate_base_consumer","AdminV1"); } @Test //@Ignore("failing") public void testNotGeneratingBaseConusmerScenario2() throws Exception{ haveScpp = false; File consumerProps = createPropertyFile(destDir.getAbsolutePath(),CONSUMER_PROPERTIES); fillProperties(consumerProper, consumerProps); String testArgs1[] = new String[] { "-servicename","NewService", "-genType", "Consumer", "-interface","org/ebayopensource/turmeric/tools/codegen/Admin1.java", "-dest", destDir.getAbsolutePath(), "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-adminname","Admin3", "-cn","canme" }; performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath() +"/org/ebayopensource/turmeric/tools/codegen/testNotGeneratingBaseConusmerScenario2/gen/BaseAdmin1Consumer.java"; baseConsumerClass = new File(baseConsumer); assertFalse(baseConsumerClass.exists()); } @Test //@Ignore("failing") public void testGeneratingBaseConusmerScenario4() throws Exception{ File consumerProps = createPropertyFile(destDir.getAbsolutePath(),CONSUMER_PROPERTIES); fillProperties(consumerProper, consumerProps); String testArgs1[] = new String[] { "-servicename","NewService", "-genType", "Consumer", "-interface","org/ebayopensource/turmeric/tools/codegen/Admin1.java", "-dest", destDir.getAbsolutePath(), "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-adminname","Admin1", "-cn","cname" }; performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath() +"/gen-src/org/ebayopensource/turmeric/tools/codegen/gen/BaseAdmin1Consumer.java"; baseConsumerClass = new File(baseConsumer); assertTrue(baseConsumerClass.exists()); } @Test //@Ignore("failing") public void testGeneratingBaseConusmerScenario5() throws Exception{ haveProperty = false; haveScpp = false; File consumerProps = createPropertyFile(destDir.getAbsolutePath(),CONSUMER_PROPERTIES); fillProperties(consumerProper, consumerProps); String testArgs1[] = new String[] { "-servicename","NewService", "-genType", "Consumer", "-interface","org/ebayopensource/turmeric/tools/codegen/Admin2.java", "-dest",destDir.getAbsolutePath(), "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-adminname","Admin2", "-cn","cname" }; performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath() +"/gen-src/org/ebayopensource/turmeric/tools/codegen/gen/BaseAdmin2Consumer.java"; baseConsumerClass = new File(baseConsumer); assertTrue(baseConsumerClass.exists()); } @Test //@Ignore("failing") public void noPropsFile() throws Exception{ String testArgs1[] = new String[] { "-servicename","NewService", "-genType", "Consumer", "-interface","org/ebayopensource/turmeric/tools/codegen/Admin3.java", "-dest", destDir.getAbsolutePath(), "-scv", "1.2.3", "-slayer","COMMON", "-bin", binDir.getAbsolutePath(), "-pr",destDir.getAbsolutePath(), "-adminname","Admin3", "-cn","cname" }; performDirectCodeGen(testArgs1, binDir); //change to package of BC - the consumer name is removed from pckg. baseConsumer = destDir.getAbsolutePath() +"/gen-src/org/ebayopensource/turmeric/tools/codegen/gen/BaseAdmin3Consumer.java"; baseConsumerClass = new File(baseConsumer); assertTrue(baseConsumerClass.exists()); } public void deinitialize(){ sgen = null; baseConsumer = null; baseConsumerClass = null; in = null; out = null; pro = null; file = null; } }