@@ -27,11 +27,6 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
2727 return gradleRunner(args. toArray())
2828 }
2929
30- def runGenerateAndValidateWithLabels (String ... labels ) {
31- String labelsStr = String . join(System . lineSeparator(), List . of(labels));
32- return runGenerateAndValidateTask(). withEnvironment(Map . of(" PULL_REQUEST_LABELS" , labelsStr));
33- }
34-
3530 def runGenerateTask (String ... additionalArgs ) {
3631 List<String > args = new ArrayList<> ()
3732 args. add(" :myserver:generateTransportVersionDefinition" )
@@ -47,8 +42,9 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
4742 assert result. task(" :myserver:generateTransportVersionDefinition" ). outcome == TaskOutcome . SUCCESS
4843 }
4944
50- void assertGenerateFailure (BuildResult result ) {
45+ void assertGenerateFailure (BuildResult result , String expectedOutput ) {
5146 assert result. task(" :myserver:generateTransportVersionDefinition" ). outcome == TaskOutcome . FAILED
47+ assertOutputContains(result. output, expectedOutput)
5248 }
5349
5450 void assertValidateSuccess (BuildResult result ) {
@@ -60,10 +56,6 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
6056 assertValidateSuccess(result)
6157 }
6258
63- def setup () {
64-
65- }
66-
6759 def " setup is valid" () {
6860 when :
6961 def result = runGenerateAndValidateTask(). build()
@@ -74,7 +66,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
7466
7567 def " a definition should be generated when specified by an arg but no code reference exists yet" () {
7668 when :
77- def result = runGenerateTask(" --name=new_tv" , " --branches=9.2 " ). build()
69+ def result = runGenerateTask(" --name=new_tv" ). build()
7870
7971 then :
8072 assertGenerateSuccess(result)
@@ -94,31 +86,20 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
9486 referencedTransportVersion(" new_tv" )
9587
9688 when :
97- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
89+ def result = runGenerateAndValidateTask(). build()
9890
9991 then :
10092 assertGenerateAndValidateSuccess(result)
10193 assertReferableDefinition(" new_tv" , " 8124000" )
10294 assertUpperBound(" 9.2" , " new_tv,8124000" )
10395 }
10496
105- def " generation fails if branches omitted outside CI" () {
106- when :
107- def generateResult = runGenerateTask(" --name=no_branches" ). buildAndFail()
108- def validateResult = runValidateTask(). build()
109-
110- then :
111- assertGenerateFailure(generateResult)
112- assertOutputContains(generateResult. output, " When running outside CI, --branches must be specified" )
113- assertValidateSuccess(validateResult)
114- }
115-
11697 def " invalid changes to a latest file should be reverted" () {
11798 given :
11899 transportVersionUpperBound(" 9.2" , " modification" , " 9000000" )
119100
120101 when :
121- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
102+ def result = runGenerateAndValidateTask(). build()
122103
123104 then :
124105 assertGenerateAndValidateSuccess(result)
@@ -131,7 +112,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
131112 transportVersionUpperBound(" 9.1" , " modification" , " 9000000" )
132113
133114 when :
134- def result = runGenerateAndValidateTask(" --branches=9.2, 9.1" ). build()
115+ def result = runGenerateAndValidateTask(" --backport- branches=9.1" ). build()
135116
136117 then :
137118 assertGenerateAndValidateSuccess(result)
@@ -176,7 +157,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
176157 referencedTransportVersion(" renamed_tv" )
177158
178159 when :
179- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
160+ def result = runGenerateAndValidateTask(). build()
180161
181162 then :
182163 assertGenerateAndValidateSuccess(result)
@@ -193,7 +174,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
193174 referencedTransportVersion(" renamed_tv" )
194175
195176 when :
196- def result = runGenerateAndValidateTask(" --branches=9.2, 9.1" ). build()
177+ def result = runGenerateAndValidateTask(" --backport- branches=9.1" ). build()
197178
198179 then :
199180 assertGenerateAndValidateSuccess(result)
@@ -209,7 +190,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
209190 transportVersionUpperBound(" 9.2" , " test_tv" , " 8124000" )
210191
211192 when :
212- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
193+ def result = runGenerateAndValidateTask(). build()
213194
214195 then :
215196 assertGenerateAndValidateSuccess(result)
@@ -222,7 +203,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
222203 referableAndReferencedTransportVersion(" test_tv" , " 8124000" )
223204
224205 when :
225- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
206+ def result = runGenerateAndValidateTask(). build()
226207
227208 then :
228209 assertGenerateAndValidateSuccess(result)
@@ -237,7 +218,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
237218 transportVersionUpperBound(" 9.1" , " test_tv" , " 8012002" )
238219
239220 when :
240- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
221+ def result = runGenerateAndValidateTask(). build()
241222
242223 then :
243224 assertGenerateAndValidateSuccess(result)
@@ -252,7 +233,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
252233 transportVersionUpperBound(" 9.2" , " test_tv" , " 8124000" )
253234
254235 when :
255- def result = runGenerateAndValidateTask(" --branches=9.2, 9.1" ). build()
236+ def result = runGenerateAndValidateTask(" --backport- branches=9.1" ). build()
256237
257238 then :
258239 assertGenerateAndValidateSuccess(result)
@@ -290,7 +271,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
290271 referableAndReferencedTransportVersion(" second_tv" , " 8123000" )
291272
292273 when :
293- def result = runGenerateAndValidateTask(" --name=second_tv" , " --branches=9.2 " ). build()
274+ def result = runGenerateAndValidateTask(" --name=second_tv" , ). build()
294275
295276 then :
296277 assertGenerateAndValidateSuccess(result)
@@ -299,20 +280,19 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
299280 assertUpperBound(" 9.2" , " second_tv,8124000" )
300281 }
301282
302- def " branches param order can be changed " () {
283+ def " branches param order does not matter " () {
303284 given :
304- referableAndReferencedTransportVersion(" test_tv" , " 8124000,8012002" )
305- transportVersionUpperBound(" 9.2" , " test_tv" , " 8124000" )
306- transportVersionUpperBound(" 9.1" , " test_tv" , " 8012002" )
285+ referencedTransportVersion(" test_tv" )
307286
308287 when :
309- def result = runGenerateAndValidateTask(" --branches=9.1 ,9.2 " ). build()
288+ def result = runGenerateAndValidateTask(" --backport- branches=9.0 ,9.1 " ). build()
310289
311290 then :
312291 assertGenerateAndValidateSuccess(result)
313- assertReferableDefinition(" test_tv" , " 8124000,8012002" )
292+ assertReferableDefinition(" test_tv" , " 8124000,8012002,8000001 " )
314293 assertUpperBound(" 9.2" , " test_tv,8124000" )
315294 assertUpperBound(" 9.1" , " test_tv,8012002" )
295+ assertUpperBound(" 9.0" , " test_tv,8000001" )
316296 }
317297
318298 def " if the files for a new definition already exist, no change should occur" () {
@@ -322,7 +302,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
322302
323303
324304 when :
325- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
305+ def result = runGenerateAndValidateTask(). build()
326306
327307 then :
328308 assertGenerateAndValidateSuccess(result)
@@ -332,7 +312,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
332312
333313 def " can add backport to an existing definition" () {
334314 when :
335- def result = runGenerateAndValidateTask(" --name=existing_92" , " --branches=9.2, 9.1,9.0" ). build()
315+ def result = runGenerateAndValidateTask(" --name=existing_92" , " --backport- branches=9.1,9.0" ). build()
336316
337317 then :
338318 assertGenerateAndValidateSuccess(result)
@@ -342,6 +322,18 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
342322 assertUpperBound(" 9.0" , " existing_92,8000001" )
343323 }
344324
325+ def " increment must be positive" () {
326+ given :
327+ referencedTransportVersion(" new_tv" )
328+
329+ when :
330+ def result = runGenerateTask(" --increment=0" ). buildAndFail()
331+
332+ then :
333+ assertGenerateFailure(result, " Invalid increment [0], must be a positive integer" )
334+ assertReferableDefinitionDoesNotExist(" new_tv" )
335+ assertUpperBound(" 9.2" , " existing_92,8123000" )
336+ }
345337
346338 def " a different increment can be specified" () {
347339 given :
@@ -353,7 +345,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
353345 """
354346
355347 when :
356- def result = runGenerateAndValidateTask(" --branches=9.2" , " --increment=100" ). build()
348+ def result = runGenerateAndValidateTask(" --backport- branches=9.2" , " --increment=100" ). build()
357349
358350 then :
359351 assertGenerateAndValidateSuccess(result)
@@ -366,7 +358,7 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
366358 referencedTransportVersion(" new_tv" )
367359
368360 when :
369- def result = runGenerateTask(" --branches=9.2 " , " -- increment=0" ). buildAndFail()
361+ def result = runGenerateTask(" --increment=0" ). buildAndFail()
370362
371363 then :
372364 assertOutputContains(result. output, " Invalid increment: must be a positive integer > 0" )
@@ -378,89 +370,44 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
378370 transportVersionUpperBound(" 9.2" , " new_tv" , " 1000000" )
379371
380372 when :
381- def result = runGenerateAndValidateTask(" --branches=9.2 " ). build()
373+ def result = runGenerateAndValidateTask(). build()
382374
383375 then :
384376 assertGenerateAndValidateSuccess(result)
385377 assertReferableDefinition(" new_tv" , " 8124000" )
386378 assertUpperBound(" 9.2" , " new_tv,8124000" )
387379 }
388380
389- def " branches=main should be translated " () {
381+ def " backport branches is optional " () {
390382 given :
391- execute(" git checkout main" )
392- Version esVersion = VersionProperties . getElasticsearchVersion()
393- String releaseBranch = esVersion. getMajor() + " ." + esVersion. getMinor()
394- unreferableTransportVersion(" initial_main" , " 9000000" )
395- transportVersionUpperBound(releaseBranch, " initial_main" , " 9000000" )
396- file(' myserver/build.gradle' ) << """
397- tasks.named('generateTransportVersionDefinition') {
398- getMainReleaseBranch().unset()
399- }
400- """
401- execute(' git commit -a -m "setup_main"' )
402- execute(' git checkout -b new_branch' )
403383 referencedTransportVersion(" new_tv" )
404384
405385 when :
406- def result = runGenerateAndValidateTask(" --branches=main" ). build()
407-
408- then :
409- assertGenerateAndValidateSuccess(result)
410- assertReferableDefinition(" new_tv" , " 9001000" )
411- assertUpperBound(releaseBranch, " new_tv,9001000" )
412- }
413-
414- def " branch from pr targeting main" () {
415- given :
416- referencedTransportVersion(" new_tv" )
417-
418- when :
419- def result = runGenerateAndValidateWithLabels(" v9.2.0" ). build()
386+ def result = runGenerateAndValidateTask(). build()
420387
421388 then :
422389 assertGenerateAndValidateSuccess(result)
423390 assertReferableDefinition(" new_tv" , " 8124000" )
424391 assertUpperBound(" 9.2" , " new_tv,8124000" )
425392 }
426393
427- def " branch from pr for backport " () {
394+ def " deleted upper bounds files are restored " () {
428395 given :
429- referencedTransportVersion( " new_tv " )
396+ file( " myserver/src/main/resources/transport/upper_bounds/9.2.csv " ) . delete( )
430397
431398 when :
432- def result = runGenerateAndValidateWithLabels(" v9.2.0" , " v9.1.2" ). build()
433-
434- then :
435- assertGenerateAndValidateSuccess(result)
436- assertReferableDefinition(" new_tv" , " 8124000,8012002" )
437- assertUpperBound(" 9.2" , " new_tv,8124000" )
438- assertUpperBound(" 9.1" , " new_tv,8012002" )
439- }
440-
441- def " branch from pr with other labels" () {
442- given :
443- referencedTransportVersion(" new_tv" )
444-
445- when :
446- def result = runGenerateAndValidateWithLabels(" >test" , " v9.2.0" , " :Core/Infra/Core" ). build()
399+ def result = runGenerateAndValidateTask(). build()
447400
448401 then :
449402 assertGenerateAndValidateSuccess(result)
450- assertReferableDefinition(" new_tv" , " 8124000" )
451- assertUpperBound(" 9.2" , " new_tv,8124000" )
403+ assertUpperBound(" 9.2" , " existing_92,8123000" )
452404 }
453405
454- def " branch from pr default to main" () {
455- given :
456- referencedTransportVersion(" new_tv" )
457-
406+ def " upper bounds files must exist for backport branches" () {
458407 when :
459- def result = runGenerateAndValidateWithLabels( " >test " , " :Core/Infra/Core " ) . build ()
408+ def result = runGenerateTask( " --backport-branches=9.1,8.13,7.17,6.0 " ) . buildAndFail ()
460409
461410 then :
462- assertGenerateAndValidateSuccess(result)
463- assertReferableDefinition(" new_tv" , " 8124000" )
464- assertUpperBound(" 9.2" , " new_tv,8124000" )
411+ assertGenerateFailure(result, " Missing upper bounds files for branches [6.0, 7.17, 8.13], known branches are [9.0, 9.1, 9.2]" )
465412 }
466413}
0 commit comments