KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > simulator > container > CommandLineContainerBuilderConfigTest


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc.simulator.container;
5
6 import com.tc.test.TCTestCase;
7
8 import java.io.File JavaDoc;
9 import java.util.ArrayList JavaDoc;
10 import java.util.HashSet JavaDoc;
11 import java.util.Iterator JavaDoc;
12 import java.util.List JavaDoc;
13 import java.util.Set JavaDoc;
14
15 public class CommandLineContainerBuilderConfigTest extends TCTestCase {
16
17   CommandLineContainerBuilderConfig cfg;
18
19   public void testMaster() throws Exception JavaDoc {
20     newConfig(withRequiredArgs("--master"));
21     cfg.parse();
22     assertTrue(cfg.master());
23   }
24
25   public void testStartServer() throws Exception JavaDoc {
26     newConfig(withRequiredArgs("--start-server"));
27     cfg.parse();
28     assertTrue(cfg.startServer());
29   }
30
31   public void testOutputToConsole() throws Exception JavaDoc {
32     newConfig(withRequiredArgs("--output=console"));
33     cfg.parse();
34     assertTrue(cfg.outputToConsole());
35   }
36
37   public void testOutputToFile() throws Exception JavaDoc {
38     String JavaDoc filename = "/tmp";
39     File JavaDoc file = new File JavaDoc(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 JavaDoc {
47     String JavaDoc 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 JavaDoc {
54     int count = 2;
55     String JavaDoc[] 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 JavaDoc {
62     String JavaDoc classname = "foobar";
63     String JavaDoc[] args = withRequiredArgs("--application-classname="+classname);
64     newConfig(args);
65     cfg.parse();
66     assertEquals(classname, cfg.applicationClassname());
67   }
68   
69   public void testIntensity() throws Exception JavaDoc {
70     int count = 5;
71     String JavaDoc[] args = withRequiredArgs("--intensity="+count);
72     newConfig(args);
73     cfg.parse();
74     assertEquals(count, cfg.intensity());
75   }
76   
77   public void testGlobalContainerCount() throws Exception JavaDoc {
78     int count = 2;
79     String JavaDoc [] 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 JavaDoc {
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 JavaDoc {
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 JavaDoc {
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 JavaDoc {
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 JavaDoc {
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 JavaDoc {
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 JavaDoc {
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 JavaDoc {
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 JavaDoc[] args) {
170     this.cfg = new CommandLineContainerBuilderConfig(args);
171   }
172   
173   private String JavaDoc[] withRequiredArgs() {
174     return (String JavaDoc[]) requiredArgs.toArray(new String JavaDoc[requiredArgs.size()]);
175   }
176
177   private String JavaDoc[] withRequiredArgs(String JavaDoc arg) {
178     List JavaDoc argList = new ArrayList JavaDoc();
179     argList.add(arg);
180
181     String JavaDoc argname = (arg.indexOf('=') >= 0) ? arg.substring(0, arg.indexOf('=')) : arg;
182     for (Iterator JavaDoc i = requiredArgs.iterator(); i.hasNext();) {
183       String JavaDoc required = (String JavaDoc) i.next();
184       if (!required.startsWith(argname)) argList.add(required);
185     }
186
187     String JavaDoc[] rv = new String JavaDoc[argList.size()];
188     argList.toArray(rv);
189     return rv;
190   }
191
192   private static final Set JavaDoc requiredArgs = new HashSet JavaDoc();
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