1 package org.apache.maven.scm.provider.jazz.command.status;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.ScmFile;
23 import org.apache.maven.scm.ScmFileStatus;
24 import org.apache.maven.scm.log.DefaultLog;
25 import org.apache.maven.scm.provider.jazz.JazzScmTestCase;
26 import org.apache.maven.scm.provider.jazz.repository.JazzScmProviderRepository;
27 import org.codehaus.plexus.util.cli.Commandline;
28
29 import java.util.List;
30
31
32
33
34 public class JazzStatusCommandTest
35 extends JazzScmTestCase
36 {
37 private JazzScmProviderRepository repo;
38
39 private JazzStatusConsumer statusConsumer;
40
41 protected void setUp()
42 throws Exception
43 {
44 super.setUp();
45 repo = getScmProviderRepository();
46 statusConsumer = new JazzStatusConsumer( repo, new DefaultLog() );
47 }
48
49 public void testCreateStatusCommand()
50 throws Exception
51 {
52 Commandline cmd = new JazzStatusCommand().createStatusCommand( repo, getScmFileSet() ).getCommandline();
53 String expected = "scm status --username myUserName --password myPassword --wide";
54 assertCommandLine( expected, getWorkingDirectory(), cmd );
55 }
56
57 public void testConsumer()
58 {
59 statusConsumer.consumeLine(
60 "Workspace: (1000) \"Dave's Repository Workspace\" <-> (1001) \"SCM Plugin Stream\"" );
61 statusConsumer.consumeLine( " Component: (1002) \"SCM Plugins\"" );
62 statusConsumer.consumeLine( " Baseline: (1003) 1 \"Initial Baseline\"" );
63 statusConsumer.consumeLine( " Unresolved:" );
64 statusConsumer.consumeLine(
65 " d- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProvider.java" );
66 statusConsumer.consumeLine(
67 " a- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProviderRenamed.java" );
68 statusConsumer.consumeLine(
69 " d- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/DeletedFile.java" );
70 statusConsumer.consumeLine(
71 " a- /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/AddedFile.java" );
72 statusConsumer.consumeLine(
73 " -c /status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/ModifiedFile.java" );
74 statusConsumer.consumeLine( " Outgoing:" );
75 statusConsumer.consumeLine( " Change sets:" );
76 statusConsumer.consumeLine( " (1008) --@ <No comment>" );
77 statusConsumer.consumeLine( "" );
78
79
80 assertEquals( "Workspace is incorrect!", "Dave's Repository Workspace", repo.getWorkspace() );
81 assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
82 assertEquals( "Flow Target is incorrect!", "SCM Plugin Stream", repo.getFlowTarget() );
83 assertEquals( "Flow Target Alias is incorrect!", 1001, repo.getFlowTargetAlias() );
84 assertEquals( "Component is incorrect!", "SCM Plugins", repo.getComponent() );
85 assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
86 assertNotNull( repo.getOutgoingChangeSetAliases() );
87 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getOutgoingChangeSetAliases().size() );
88 assertEquals( "Change Set Alias is incorrect!", new Integer(1008), repo.getOutgoingChangeSetAliases().get(0));
89
90
91 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
92
93
94 List<ScmFile> changedFiles = statusConsumer.getChangedFiles();
95 assertNotNull( changedFiles );
96 assertEquals( 5, changedFiles.size() );
97 assertTrue( changedFiles.contains(
98 new ScmFile( "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProvider.java",
99 ScmFileStatus.DELETED ) ) );
100 assertTrue( changedFiles.contains( new ScmFile(
101 "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/JazzScmProviderRenamed.java",
102 ScmFileStatus.ADDED ) ) );
103 assertTrue( changedFiles.contains(
104 new ScmFile( "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/DeletedFile.java",
105 ScmFileStatus.DELETED ) ) );
106 assertTrue( changedFiles.contains(
107 new ScmFile( "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/AddedFile.java",
108 ScmFileStatus.ADDED ) ) );
109 assertTrue( changedFiles.contains(
110 new ScmFile( "/status-test-project/src/main/java/org/apache/maven/scm/provider/jazz/ModifiedFile.java",
111 ScmFileStatus.MODIFIED ) ) );
112 }
113
114 public void testConsumerWithStream()
115 {
116 statusConsumer.consumeLine( "Workspace: (1156) \"GPDBWorkspace\" <-> (1157) \"GPDBStream\"" );
117 statusConsumer.consumeLine( " Component: (1158) \"GPDB\" <-> (1157) \"GPDBStream\"" );
118 statusConsumer.consumeLine( " Baseline: (1159) 1 \"Initial Baseline\"" );
119
120
121 assertEquals( "Workspace is incorrect!", "GPDBWorkspace", repo.getWorkspace() );
122 assertEquals( "Workspace Alias is incorrect!", 1156, repo.getWorkspaceAlias() );
123 assertEquals( "Flow Target is incorrect!", "GPDBStream", repo.getFlowTarget() );
124 assertEquals( "Flow Target Alias is incorrect!", 1157, repo.getFlowTargetAlias() );
125 assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
126 assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
127
128
129 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
130 repo.setPushChanges( false );
131 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
132 repo.setPushChanges( true );
133 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
134 }
135
136 public void testConsumerWithOutStream()
137 {
138 statusConsumer.consumeLine( "Workspace: (1156) \"GPDBWorkspace\" <-> (1156) \"GPDBWorkspace\"" );
139 statusConsumer.consumeLine( " Component: (1158) \"GPDB\"" );
140 statusConsumer.consumeLine( " Baseline: (1159) 1 \"Initial Baseline\"" );
141
142
143 assertEquals( "Workspace is incorrect!", "GPDBWorkspace", repo.getWorkspace() );
144 assertEquals( "Workspace Alias is incorrect!", 1156, repo.getWorkspaceAlias() );
145 assertEquals( "Flow Target is incorrect!", "GPDBWorkspace", repo.getFlowTarget() );
146 assertEquals( "Flow Target Alias is incorrect!", 1156, repo.getFlowTargetAlias() );
147 assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
148 assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
149
150
151 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
152 repo.setPushChanges( false );
153 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
154 repo.setPushChanges( true );
155 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
156 }
157
158 public void testConsumerWithAdditionalInfo()
159 {
160 statusConsumer.consumeLine(
161 "Workspace: (1000) \"MavenStream Workspace\" <-> (1005) \"MavenStream Workspace\"" );
162 statusConsumer.consumeLine(
163 " Component: (1002) \"FireDragon\" <-> (1005) \"MavenR3Stream Workspace\" (outgoing addition)" );
164 statusConsumer.consumeLine( " Baseline: (1003) 1 \"Initial Baseline\"" );
165 statusConsumer.consumeLine( " Unresolved:" );
166 statusConsumer.consumeLine( " a-- /FireDragon/.project" );
167
168
169 assertEquals( "Workspace is incorrect!", "MavenStream Workspace", repo.getWorkspace() );
170 assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
171 assertEquals( "Flow Target is incorrect!", "MavenStream Workspace", repo.getFlowTarget() );
172 assertEquals( "Flow Target Alias is incorrect!", 1005, repo.getFlowTargetAlias() );
173 assertEquals( "Component is incorrect!", "FireDragon", repo.getComponent() );
174 assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
175 }
176
177 public void testConsumerWithMultipleChangeSets()
178 {
179 statusConsumer.consumeLine( "Workspace: (1000) \"GPDBWorkspace\" <-> (1001) \"GPDBStream\"" );
180 statusConsumer.consumeLine( " Component: (1002) \"GPDB\"" );
181 statusConsumer.consumeLine( " Baseline: (1003) 49 \"GPDB-MAN-1.0.50\"" );
182 statusConsumer.consumeLine( " Unresolved:" );
183 statusConsumer.consumeLine( " a-- /GPDB/GPDBEAR/pom.xml.releaseBackup" );
184 statusConsumer.consumeLine( " a-- /GPDB/GPDBResources/pom.xml.releaseBackup" );
185 statusConsumer.consumeLine( " a-- /GPDB/GPDBWeb/pom.xml.releaseBackup" );
186 statusConsumer.consumeLine( " a-- /GPDB/pom.xml.releaseBackup" );
187 statusConsumer.consumeLine( " Outgoing:" );
188 statusConsumer.consumeLine( " Change sets:" );
189 statusConsumer.consumeLine( " (1012) *--@ \"Release the next release of GPDB.\" - "
190 + "\"[maven-release-plugin] rollback the release of GPDB-1.0.51\" 02-May-2015 09:38 PM" );
191 statusConsumer.consumeLine( " (1011) ---@ \"Release the next release of GPDB.\" - "
192 + "\"[maven-release-plugin] rollback the release of GPDB-1.0.51\" 02-May-2015 09:33 PM" );
193 statusConsumer.consumeLine( " (1010) ---@ \"Release the next release of GPDB.\" - "
194 + "\"[maven-release-plugin] prepare release GPDB-1.0.51\" 02-May-2015 09:28 PM" );
195 statusConsumer.consumeLine( " (1009) ---@ \"Release the next release of GPDB.\" - "
196 + "\"[maven-release-plugin] rollback the release of GPDB-1.0.51\" 02-May-2015 08:05 PM" );
197 statusConsumer.consumeLine( " (1008) ---@ \"Release the next release of GPDB.\" - "
198 + "\"[maven-release-plugin] prepare release GPDB-1.0.51\" 02-May-2015 08:00 PM" );
199 statusConsumer.consumeLine( " (1007) ---@ \"[maven-release-plugin] rollback the "
200 + "release of GPDB-1.0.51\" 02-May-2015 07:54 PM" );
201 statusConsumer.consumeLine( " (1006) ---@ \"[maven-release-plugin] prepare "
202 + "release GPDB-1.0.51\" 02-May-2015 09:33 PM" );
203
204
205 assertEquals( "Workspace is incorrect!", "GPDBWorkspace", repo.getWorkspace() );
206 assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
207 assertEquals( "Flow Target is incorrect!", "GPDBStream", repo.getFlowTarget() );
208 assertEquals( "Flow Target Alias is incorrect!", 1001, repo.getFlowTargetAlias() );
209 assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
210 assertEquals( "Baseline is incorrect!", "GPDB-MAN-1.0.50", repo.getBaseline() );
211
212
213 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
214 repo.setPushChanges( false );
215 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
216 repo.setPushChanges( true );
217 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
218
219
220 assertNotNull( repo.getOutgoingChangeSetAliases() );
221 assertEquals( "Change Set Alias length is incorrect!", 7, repo.getOutgoingChangeSetAliases().size() );
222 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(1012), repo.getOutgoingChangeSetAliases().get(0));
223 assertEquals( "Change Set Alias [1] is incorrect!", new Integer(1011), repo.getOutgoingChangeSetAliases().get(1));
224 assertEquals( "Change Set Alias [2] is incorrect!", new Integer(1010), repo.getOutgoingChangeSetAliases().get(2));
225 assertEquals( "Change Set Alias [3] is incorrect!", new Integer(1009), repo.getOutgoingChangeSetAliases().get(3));
226 assertEquals( "Change Set Alias [4] is incorrect!", new Integer(1008), repo.getOutgoingChangeSetAliases().get(4));
227 assertEquals( "Change Set Alias [5] is incorrect!", new Integer(1007), repo.getOutgoingChangeSetAliases().get(5));
228 assertEquals( "Change Set Alias [6] is incorrect!", new Integer(1006), repo.getOutgoingChangeSetAliases().get(6));
229 }
230
231 public void testConsumerWithMultipleChangeSetsAndWorkItems()
232 {
233 statusConsumer.consumeLine( "Workspace: (1000) \"GPDBWorkspace\" <-> (1001) \"GPDBStream\"" );
234 statusConsumer.consumeLine( " Component: (1002) \"GPDB\"" );
235 statusConsumer.consumeLine( " Baseline: (1003) 49 \"GPDB-MAN-1.0.50\"" );
236 statusConsumer.consumeLine( " Unresolved:" );
237 statusConsumer.consumeLine( " a-- /GPDB/GPDBEAR/pom.xml.releaseBackup" );
238 statusConsumer.consumeLine( " a-- /GPDB/GPDBResources/pom.xml.releaseBackup" );
239 statusConsumer.consumeLine( " a-- /GPDB/GPDBWeb/pom.xml.releaseBackup" );
240 statusConsumer.consumeLine( " a-- /GPDB/pom.xml.releaseBackup" );
241 statusConsumer.consumeLine( " Outgoing:" );
242 statusConsumer.consumeLine( " Change sets:" );
243 statusConsumer.consumeLine( " (1012) *--@ 62 \"Release the next release of GPDB.\" - "
244 + "\"[maven-release-plugin] rollback the release of GPDB-1.0.51\" 02-May-2015 09:38 PM" );
245 statusConsumer.consumeLine( " (1011) ---@ 62 \"Release the next release of GPDB.\" - "
246 + "\"[maven-release-plugin] rollback the release of GPDB-1.0.51\" 02-May-2015 09:33 PM" );
247 statusConsumer.consumeLine( " (1010) ---@ 62 \"Release the next release of GPDB.\" - "
248 + "\"[maven-release-plugin] prepare release GPDB-1.0.51\" 02-May-2015 09:28 PM" );
249 statusConsumer.consumeLine( " (1009) ---@ 62 \"Release the next release of GPDB.\" - "
250 + "\"[maven-release-plugin] rollback the release of GPDB-1.0.51\" 02-May-2015 08:05 PM" );
251 statusConsumer.consumeLine( " (1008) ---@ 62 \"Release the next release of GPDB.\" - "
252 + "\"[maven-release-plugin] prepare release GPDB-1.0.51\" 02-May-2015 08:00 PM" );
253 statusConsumer.consumeLine( " (1007) ---@ \"[maven-release-plugin] rollback the "
254 + "release of GPDB-1.0.51\" 02-May-2015 07:54 PM" );
255 statusConsumer.consumeLine( " (1006) ---@ \"[maven-release-plugin] prepare "
256 + "release GPDB-1.0.51\" 02-May-2015 09:33 PM" );
257
258
259 assertEquals( "Workspace is incorrect!", "GPDBWorkspace", repo.getWorkspace() );
260 assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
261 assertEquals( "Flow Target is incorrect!", "GPDBStream", repo.getFlowTarget() );
262 assertEquals( "Flow Target Alias is incorrect!", 1001, repo.getFlowTargetAlias() );
263 assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
264 assertEquals( "Baseline is incorrect!", "GPDB-MAN-1.0.50", repo.getBaseline() );
265
266
267 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
268 repo.setPushChanges( false );
269 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
270 repo.setPushChanges( true );
271 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
272
273 assertNotNull( repo.getOutgoingChangeSetAliases() );
274 assertEquals( "Change Set Alias length is incorrect!", 7, repo.getOutgoingChangeSetAliases().size() );
275 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(1012), repo.getOutgoingChangeSetAliases().get(0));
276 assertEquals( "Change Set Alias [1] is incorrect!", new Integer(1011), repo.getOutgoingChangeSetAliases().get(1));
277 assertEquals( "Change Set Alias [2] is incorrect!", new Integer(1010), repo.getOutgoingChangeSetAliases().get(2));
278 assertEquals( "Change Set Alias [3] is incorrect!", new Integer(1009), repo.getOutgoingChangeSetAliases().get(3));
279 assertEquals( "Change Set Alias [4] is incorrect!", new Integer(1008), repo.getOutgoingChangeSetAliases().get(4));
280 assertEquals( "Change Set Alias [5] is incorrect!", new Integer(1007), repo.getOutgoingChangeSetAliases().get(5));
281 assertEquals( "Change Set Alias [6] is incorrect!", new Integer(1006), repo.getOutgoingChangeSetAliases().get(6));
282 }
283
284 public void testConsumerUnresolvedIncomingOutgoing()
285 {
286 statusConsumer.consumeLine( "Workspace: (1756) \"Scott's GPDBWorkspace\" <-> (1157) \"GPDBStream\"" );
287 statusConsumer.consumeLine( " Component: (1158) \"GPDB\"" );
288 statusConsumer.consumeLine( " Baseline: (1718) 25 \"GPDB-1.0.25\"" );
289 statusConsumer.consumeLine( " Unresolved:" );
290 statusConsumer.consumeLine( " -c- /GPDB/pom.xml" );
291 statusConsumer.consumeLine( " Outgoing:" );
292 statusConsumer.consumeLine( " Change sets:" );
293 statusConsumer.consumeLine( " (2389) *--@ \"<No comment>\" 23-May-2015 07:09 PM" );
294 statusConsumer.consumeLine( " Incoming:" );
295 statusConsumer.consumeLine( " Change sets:" );
296 statusConsumer.consumeLine( " (2385) ---$ Deb 62 \"Release the next release of GPDB.\""
297 + " - \"[maven-release-plugin] prepare for next development itera...\" 02-May-2015 11:01 PM" );
298 statusConsumer.consumeLine( " Baselines:" );
299 statusConsumer.consumeLine( " (2386) 52 \"GPDB-1.0.53\"" );
300 statusConsumer.consumeLine( " (2387) 51 \"GPDB-1.0.52\"" );
301 statusConsumer.consumeLine( " (2388) 50 \"GPDB-1.0.51\"" );
302 statusConsumer.consumeLine( " (2369) 49 \"GPDB-MAN-1.0.50\"" );
303 statusConsumer.consumeLine( " (2362) 48 \"GPDB-1.0.50\"" );
304 statusConsumer.consumeLine( " (2357) 47 \"GPDB-1.0.49\"" );
305 statusConsumer.consumeLine( " (2352) 46 \"GPDB-1.0.48\"" );
306 statusConsumer.consumeLine( " (2347) 45 \"GPDB-1.0.47\"" );
307 statusConsumer.consumeLine( " (2292) 44 \"GPDB-1.0.46\"" );
308 statusConsumer.consumeLine( " (2285) 42 \"GPDB-1.0.42\"" );
309 statusConsumer.consumeLine( " (2276) 41 \"GPDB-1.0.41\"" );
310 statusConsumer.consumeLine( " (2259) 40 \"GPDB-1.0.40\"" );
311 statusConsumer.consumeLine( " (2250) 39 \"GPDB-1.0.39\"" );
312 statusConsumer.consumeLine( " (2241) 38 \"GPDB-1.0.38\"" );
313 statusConsumer.consumeLine( " (2232) 37 \"GPDB-1.0.37\"" );
314 statusConsumer.consumeLine( " (2222) 36 \"GPDB-1.0.36\"" );
315 statusConsumer.consumeLine( " (2212) 35 \"GPDB-1.0.35\"" );
316 statusConsumer.consumeLine( " (2202) 34 \"GPDB-1.0.34\"" );
317 statusConsumer.consumeLine( " (2191) 33 \"GPDB-1.0.33\"" );
318 statusConsumer.consumeLine( " (2181) 32 \"GPDB-1.0.32\"" );
319 statusConsumer.consumeLine( " (2171) 31 \"GPDB-1.0.31\"" );
320 statusConsumer.consumeLine( " (2160) 30 \"GPDB-1.0.30\"" );
321 statusConsumer.consumeLine( " (2147) 29 \"GPDB-1.0.29\"" );
322 statusConsumer.consumeLine( " (2079) 28 \"GPDB-1.0.28\"" );
323 statusConsumer.consumeLine( " (1851) 27 \"GPDB-1.0.27\"" );
324 statusConsumer.consumeLine( " (1807) 26 \"GPDB-1.0.26\"" );
325
326
327 assertEquals( "Workspace is incorrect!", "Scott's GPDBWorkspace", repo.getWorkspace() );
328 assertEquals( "Workspace Alias is incorrect!", 1756, repo.getWorkspaceAlias() );
329 assertEquals( "Flow Target is incorrect!", "GPDBStream", repo.getFlowTarget() );
330 assertEquals( "Flow Target Alias is incorrect!", 1157, repo.getFlowTargetAlias() );
331 assertEquals( "Component is incorrect!", "GPDB", repo.getComponent() );
332 assertEquals( "Baseline is incorrect!", "GPDB-1.0.25", repo.getBaseline() );
333
334
335 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
336 repo.setPushChanges( false );
337 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
338 repo.setPushChanges( true );
339 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
340
341 assertNotNull( repo.getOutgoingChangeSetAliases() );
342 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getOutgoingChangeSetAliases().size() );
343 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(2389), repo.getOutgoingChangeSetAliases().get(0));
344
345 assertNotNull( repo.getIncomingChangeSetAliases() );
346 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getIncomingChangeSetAliases().size() );
347 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(2385), repo.getIncomingChangeSetAliases().get(0));
348 }
349
350 public void testCollision()
351 {
352 statusConsumer.consumeLine( "Workspace: (8551) \"myNewWorkspace\" <-> (8552) \"stream19_test_max_results_1256765247692134\"" );
353 statusConsumer.consumeLine( " Component: (8553) \"Flux Capacitor\"" );
354 statusConsumer.consumeLine( " Baseline: (8554) 1 \"Initial Baseline\"" );
355 statusConsumer.consumeLine( " Outgoing:" );
356 statusConsumer.consumeLine( " Change sets:" );
357 statusConsumer.consumeLine( " (8617) -#@ \"Update from November planning meeting\"" );
358 statusConsumer.consumeLine( " Changes:" );
359 statusConsumer.consumeLine( " -#-c /flux.capacitor/requirements.txt" );
360 statusConsumer.consumeLine( " Incoming:" );
361 statusConsumer.consumeLine( " Change sets:" );
362 statusConsumer.consumeLine( " (8616) -#$ \"Results of initial trials\"" );
363 statusConsumer.consumeLine( " Changes:" );
364 statusConsumer.consumeLine( " -#-c /flux.capacitor/requirements.txt" );
365
366
367 assertEquals( "Workspace is incorrect!", "myNewWorkspace", repo.getWorkspace() );
368 assertEquals( "Workspace Alias is incorrect!", 8551, repo.getWorkspaceAlias() );
369 assertEquals( "Flow Target is incorrect!", "stream19_test_max_results_1256765247692134", repo.getFlowTarget() );
370 assertEquals( "Flow Target Alias is incorrect!", 8552, repo.getFlowTargetAlias() );
371 assertEquals( "Component is incorrect!", "Flux Capacitor", repo.getComponent() );
372 assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
373
374
375 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
376 repo.setPushChanges( false );
377 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
378 repo.setPushChanges( true );
379 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
380
381 assertNotNull( repo.getOutgoingChangeSetAliases() );
382 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getOutgoingChangeSetAliases().size() );
383 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(8617), repo.getOutgoingChangeSetAliases().get(0));
384
385 assertNotNull( repo.getIncomingChangeSetAliases() );
386 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getIncomingChangeSetAliases().size() );
387 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(8616), repo.getIncomingChangeSetAliases().get(0));
388
389
390
391
392
393
394 }
395
396 public void testIncoming()
397 {
398 statusConsumer.consumeLine( "Workspace: (1026) \"DEV-build-POC-Builder\" <-> (1011) \"DEV-build-Management-Release plugin POC\"" );
399 statusConsumer.consumeLine( " Component: (1095) \"FW-Maven-ReleasePlugin-POC\"" );
400 statusConsumer.consumeLine( " Baseline: (1103) 2 \"release_poc-build-0.0.3\"" );
401 statusConsumer.consumeLine( " Incoming:" );
402 statusConsumer.consumeLine( " Change sets:" );
403 statusConsumer.consumeLine( " (1106) ---$ 28383 \"Detemine more efficient way to perform releases using mav...\" - \"Updated SCM settings\" 05-May-2015 10:26 AM" );
404
405
406 assertEquals( "Workspace is incorrect!", "DEV-build-POC-Builder", repo.getWorkspace() );
407 assertEquals( "Workspace Alias is incorrect!", 1026, repo.getWorkspaceAlias() );
408 assertEquals( "Flow Target is incorrect!", "DEV-build-Management-Release plugin POC", repo.getFlowTarget() );
409 assertEquals( "Flow Target Alias is incorrect!", 1011, repo.getFlowTargetAlias() );
410 assertEquals( "Component is incorrect!", "FW-Maven-ReleasePlugin-POC", repo.getComponent() );
411 assertEquals( "Baseline is incorrect!", "release_poc-build-0.0.3", repo.getBaseline() );
412
413
414 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
415 repo.setPushChanges( false );
416 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
417 repo.setPushChanges( true );
418 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
419
420 assertNotNull( repo.getIncomingChangeSetAliases() );
421 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getIncomingChangeSetAliases().size() );
422 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(1106), repo.getIncomingChangeSetAliases().get(0));
423 }
424
425 public void testMultipleIncoming()
426 {
427 statusConsumer.consumeLine( "Workspace: (1000) \"Chris-Blah-Workspace\" <-> (1001) \"CHRIS_Blah_Stream\"" );
428 statusConsumer.consumeLine( " Component: (1002) \"Data_Models\"" );
429 statusConsumer.consumeLine( " Baseline: (1003) 465 \"CHRIS_BLAH_20150516_190700_1\"" );
430 statusConsumer.consumeLine( " Unresolved:" );
431 statusConsumer.consumeLine( " -c- /Data Model/.settings/org.eclipse.core.resources.prefs" );
432 statusConsumer.consumeLine( " Incoming:" );
433 statusConsumer.consumeLine( " Change sets:" );
434 statusConsumer.consumeLine( " (1004) ---$ chrisgwarp 1573 \"Manage Work Order Business Spec\" - \"PROJ-1001 - Added Hist...\" 15-May-2015 12:53 PM" );
435 statusConsumer.consumeLine( " (1005) ---$ chrisgwarp 1573 \"Manage Work Order Business Spec\" - \"PROJ-1001 - Removed Error Code 020...\" 14-May-2015 05:59 PM" );
436
437
438 assertEquals( "Workspace is incorrect!", "Chris-Blah-Workspace", repo.getWorkspace() );
439 assertEquals( "Workspace Alias is incorrect!", 1000, repo.getWorkspaceAlias() );
440 assertEquals( "Flow Target is incorrect!", "CHRIS_Blah_Stream", repo.getFlowTarget() );
441 assertEquals( "Flow Target Alias is incorrect!", 1001, repo.getFlowTargetAlias() );
442 assertEquals( "Component is incorrect!", "Data_Models", repo.getComponent() );
443 assertEquals( "Baseline is incorrect!", "CHRIS_BLAH_20150516_190700_1", repo.getBaseline() );
444
445
446 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
447 repo.setPushChanges( false );
448 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
449 repo.setPushChanges( true );
450 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
451
452 assertNotNull( repo.getIncomingChangeSetAliases() );
453 assertEquals( "Change Set Alias length is incorrect!", 2, repo.getIncomingChangeSetAliases().size() );
454 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(1004), repo.getIncomingChangeSetAliases().get(0));
455 assertEquals( "Change Set Alias [1] is incorrect!", new Integer(1005), repo.getIncomingChangeSetAliases().get(1));
456 }
457
458 public void testIncomingOutgoing()
459 {
460 statusConsumer.consumeLine( "Workspace: (8551) \"myNewWorkspace\" <-> (8552) \"stream19_test_max_results_1256765247692134\"" );
461 statusConsumer.consumeLine( " Component: (8553) \"Flux Capacitor\"" );
462 statusConsumer.consumeLine( " Baseline: (8554) 1 \"Initial Baseline\"" );
463 statusConsumer.consumeLine( " Outgoing:" );
464 statusConsumer.consumeLine( " Change sets:" );
465 statusConsumer.consumeLine( " (8556) ---@" );
466 statusConsumer.consumeLine( " Changes:" );
467 statusConsumer.consumeLine( " ---c- /flux.capacitor/requirements.txt" );
468 statusConsumer.consumeLine( " Incoming:" );
469 statusConsumer.consumeLine( " Change sets:" );
470 statusConsumer.consumeLine( " (8615) ---$ \"Initial layout\"" );
471 statusConsumer.consumeLine( " Changes:" );
472 statusConsumer.consumeLine( " ---c- /flux.capacitor/diagrams/design.cad" );
473
474
475 assertEquals( "Workspace is incorrect!", "myNewWorkspace", repo.getWorkspace() );
476 assertEquals( "Workspace Alias is incorrect!", 8551, repo.getWorkspaceAlias() );
477 assertEquals( "Flow Target is incorrect!", "stream19_test_max_results_1256765247692134", repo.getFlowTarget() );
478 assertEquals( "Flow Target Alias is incorrect!", 8552, repo.getFlowTargetAlias() );
479 assertEquals( "Component is incorrect!", "Flux Capacitor", repo.getComponent() );
480 assertEquals( "Baseline is incorrect!", "Initial Baseline", repo.getBaseline() );
481
482
483 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
484 repo.setPushChanges( false );
485 assertFalse( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
486 repo.setPushChanges( true );
487 assertTrue( "isPushChangesAndHaveFlowTargets is incorrect!", repo.isPushChangesAndHaveFlowTargets() );
488
489 assertNotNull( repo.getOutgoingChangeSetAliases() );
490 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getOutgoingChangeSetAliases().size() );
491 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(8556), repo.getOutgoingChangeSetAliases().get(0));
492
493 assertNotNull( repo.getIncomingChangeSetAliases() );
494 assertEquals( "Change Set Alias length is incorrect!", 1, repo.getIncomingChangeSetAliases().size() );
495 assertEquals( "Change Set Alias [0] is incorrect!", new Integer(8615), repo.getIncomingChangeSetAliases().get(0));
496 }
497
498 public void testServerUnreachable1()
499 {
500 statusConsumer.consumeLine( "Workspace: (1000) \"GPDBWorkspace\" (This workspace is unreachable.)" );
501 statusConsumer.consumeLine( " Could not log in to https://rtc:9444/jazz/ as user Deb: CRJAZ2384E Cannot" );
502 statusConsumer.consumeLine( " connect to the repository at URL \"https://rtc:9444/jazz\", see the nested" );
503 statusConsumer.consumeLine( " exception for more details. For more details, open the help system and search" );
504 statusConsumer.consumeLine( " for CRJAZ2384E." );
505
506 }
507
508 public void testServerUnreachable2()
509 {
510 statusConsumer.consumeLine( "Workspace: (1000) \"Chris-Blah-Workspace\" (This workspace is unreachable.)" );
511 statusConsumer.consumeLine( " Could not determine the URI required to connect to the repository. The UUID of" );
512 statusConsumer.consumeLine( " the repository is _Bzjnksdkmfsaklmz-5uTdf. If you know the repository URI run" );
513 statusConsumer.consumeLine( " 'login' command providing the repository URI. If not, please contact your" );
514 statusConsumer.consumeLine( " administrator." );
515
516 }
517
518 public void testServerUnreachable3()
519 {
520 statusConsumer.consumeLine( "Workspace: (----) \"Chris-Project-XXXXXX-Workspace\" (This workspace is unreachable.)" );
521 statusConsumer.consumeLine( " Could not determine the URI required to connect to the repository. The UUID of" );
522 statusConsumer.consumeLine( " the repository is _ZdjnafkjnEmkEW5-4HuDag. If you know the repository URI run" );
523 statusConsumer.consumeLine( " 'login' command providing the repository URI. If not, please contact your" );
524 statusConsumer.consumeLine( " administrator." );
525
526 }
527 }