1 4 package com.tc.simulator.container; 5 6 import com.tc.test.TCTestCase; 7 8 import java.io.File ; 9 import java.util.ArrayList ; 10 import java.util.HashSet ; 11 import java.util.Iterator ; 12 import java.util.List ; 13 import java.util.Set ; 14 15 public class CommandLineContainerBuilderConfigTest extends TCTestCase { 16 17 CommandLineContainerBuilderConfig cfg; 18 19 public void testMaster() throws Exception { 20 newConfig(withRequiredArgs("--master")); 21 cfg.parse(); 22 assertTrue(cfg.master()); 23 } 24 25 public void testStartServer() throws Exception { 26 newConfig(withRequiredArgs("--start-server")); 27 cfg.parse(); 28 assertTrue(cfg.startServer()); 29 } 30 31 public void testOutputToConsole() throws Exception { 32 newConfig(withRequiredArgs("--output=console")); 33 cfg.parse(); 34 assertTrue(cfg.outputToConsole()); 35 } 36 37 public void testOutputToFile() throws Exception { 38 String filename = "/tmp"; 39 File file = new File (filename); 40 newConfig(withRequiredArgs("--output=" + filename)); 41 cfg.parse(); 42 assertTrue(cfg.outputToFile()); 43 assertEquals(file, cfg.outputFile()); 44 } 45 46 public void testAppConfigBuilder() throws Exception { 47 String classname = getClass().getName(); 48 newConfig(withRequiredArgs("--app-config-builder=" + classname)); 49 cfg.parse(); 50 assertEquals(classname, cfg.appConfigBuilder()); 51 } 52 53 public void testGlobalParticipantCount() throws Exception { 54 int count = 2; 55 String [] args = withRequiredArgs("--global-participant-count=" + count); 56 newConfig(args); 57 cfg.parse(); 58 assertEquals(count, cfg.globalParticipantCount()); 59 } 60 61 public void testApplicationClassname() throws Exception { 62 String classname = "foobar"; 63 String [] args = withRequiredArgs("--application-classname="+classname); 64 newConfig(args); 65 cfg.parse(); 66 assertEquals(classname, cfg.applicationClassname()); 67 } 68 69 public void testIntensity() throws Exception { 70 int count = 5; 71 String [] args = withRequiredArgs("--intensity="+count); 72 newConfig(args); 73 cfg.parse(); 74 assertEquals(count, cfg.intensity()); 75 } 76 77 public void testGlobalContainerCount() throws Exception { 78 int count = 2; 79 String [] args = withRequiredArgs("--global-container-count=" + count); 80 newConfig(args); 81 cfg.parse(); 82 assertEquals(count, cfg.globalContainerCount()); 83 } 84 85 public void testGetApplicationExecCount() throws Exception { 86 int count = 2; 87 newConfig(withRequiredArgs("--app-exec-count=" + count)); 88 cfg.parse(); 89 assertEquals(count, cfg.getApplicationExecutionCount()); 90 91 newConfig(withRequiredArgs()); 92 cfg.parse(); 93 assertEquals(1, cfg.getApplicationExecutionCount()); 94 } 95 96 public void testGetContainerStartTimeout() throws Exception { 97 long timeout = 2; 98 newConfig(withRequiredArgs("--container-start-timeout=" + timeout)); 99 cfg.parse(); 100 assertEquals(2, cfg.getContainerStartTimeout()); 101 102 newConfig(withRequiredArgs()); 103 cfg.parse(); 104 assertEquals(5 * 60 * 1000, cfg.getContainerStartTimeout()); 105 } 106 107 public void testGetApplicationStartTimeout() throws Exception { 108 long timeout = 2; 109 newConfig(withRequiredArgs("--app-start-timeout=" + timeout)); 110 cfg.parse(); 111 assertEquals(timeout, cfg.getApplicationStartTimeout()); 112 113 newConfig(withRequiredArgs()); 114 cfg.parse(); 115 assertEquals(5 * 60 * 1000, cfg.getApplicationStartTimeout()); 116 } 117 118 public void testGetApplicationExecutionTimeout() throws Exception { 119 long timeout = 2; 120 newConfig(withRequiredArgs("--app-exec-timeout=" + timeout)); 121 cfg.parse(); 122 assertEquals(2, cfg.getApplicationExecutionTimeout()); 123 124 newConfig(withRequiredArgs()); 125 cfg.parse(); 126 assertEquals(30 * 60 * 1000, cfg.getApplicationExecutionTimeout()); 127 } 128 129 public void testDumpErrors() throws Exception { 130 newConfig(withRequiredArgs("--dump-errors")); 131 cfg.parse(); 132 assertTrue(cfg.dumpErrors()); 133 134 newConfig(withRequiredArgs()); 135 cfg.parse(); 136 assertFalse(cfg.dumpErrors()); 137 } 138 139 public void testDumpOutput() throws Exception { 140 newConfig(withRequiredArgs("--dump-output")); 141 cfg.parse(); 142 assertTrue(cfg.dumpOutput()); 143 144 newConfig(withRequiredArgs()); 145 cfg.parse(); 146 assertFalse(cfg.dumpOutput()); 147 } 148 149 public void testAggregate() throws Exception { 150 newConfig(withRequiredArgs("--aggregate")); 151 cfg.parse(); 152 assertTrue(cfg.aggregate()); 153 154 newConfig(withRequiredArgs()); 155 cfg.parse(); 156 assertFalse(cfg.aggregate()); 157 } 158 159 public void testStream() throws Exception { 160 newConfig(withRequiredArgs("--stream")); 161 cfg.parse(); 162 assertTrue(cfg.stream()); 163 164 newConfig(withRequiredArgs()); 165 cfg.parse(); 166 assertFalse(cfg.stream()); 167 } 168 169 private void newConfig(String [] args) { 170 this.cfg = new CommandLineContainerBuilderConfig(args); 171 } 172 173 private String [] withRequiredArgs() { 174 return (String []) requiredArgs.toArray(new String [requiredArgs.size()]); 175 } 176 177 private String [] withRequiredArgs(String arg) { 178 List argList = new ArrayList (); 179 argList.add(arg); 180 181 String argname = (arg.indexOf('=') >= 0) ? arg.substring(0, arg.indexOf('=')) : arg; 182 for (Iterator i = requiredArgs.iterator(); i.hasNext();) { 183 String required = (String ) i.next(); 184 if (!required.startsWith(argname)) argList.add(required); 185 } 186 187 String [] rv = new String [argList.size()]; 188 argList.toArray(rv); 189 return rv; 190 } 191 192 private static final Set requiredArgs = new HashSet (); 193 static { 194 requiredArgs.add("--app-config-builder=alkdfj"); 195 requiredArgs.add("--global-participant-count=123"); 196 requiredArgs.add("--global-container-count=323"); 197 } 198 199 } | Popular Tags |