@@ -55,6 +55,8 @@ func TestAccGitlabProject_basic(t *testing.T) {
55
55
MergeRequestsTemplate : "" ,
56
56
CIConfigPath : ".gitlab-ci.yml@mynamespace/myproject" ,
57
57
CIForwardDeploymentEnabled : true ,
58
+ MergePipelinesEnabled : true ,
59
+ MergeTrainsEnabled : true ,
58
60
}
59
61
60
62
defaultsMainBranch = defaults
@@ -102,6 +104,8 @@ func TestAccGitlabProject_basic(t *testing.T) {
102
104
PagesAccessLevel : gitlab .DisabledAccessControl ,
103
105
BuildCoverageRegex : "bar" ,
104
106
CIForwardDeploymentEnabled : false ,
107
+ MergePipelinesEnabled : false ,
108
+ MergeTrainsEnabled : false ,
105
109
}, & received ),
106
110
),
107
111
},
@@ -463,6 +467,60 @@ func TestAccGitlabProject_IssueMergeRequestTemplates(t *testing.T) {
463
467
})
464
468
}
465
469
470
+ func TestAccGitlabProject_MergePipelines (t * testing.T ) {
471
+ var project gitlab.Project
472
+ rInt := acctest .RandInt ()
473
+
474
+ resource .Test (t , resource.TestCase {
475
+ PreCheck : func () { testAccPreCheck (t ) },
476
+ ProviderFactories : providerFactories ,
477
+ CheckDestroy : testAccCheckGitlabProjectDestroy ,
478
+ Steps : []resource.TestStep {
479
+ {
480
+ SkipFunc : isRunningInCE ,
481
+ Config : testAccGitLabProjectMergePipelinesEnabled (rInt ),
482
+ Check : resource .ComposeTestCheckFunc (
483
+ testAccCheckGitlabProjectExists ("gitlab_project.foo" , & project ),
484
+ func (s * terraform.State ) error {
485
+ if project .MergePipelinesEnabled != true {
486
+ return fmt .Errorf ("expected merge pipelines to be enabled" )
487
+ }
488
+
489
+ return nil
490
+ },
491
+ ),
492
+ },
493
+ },
494
+ })
495
+ }
496
+
497
+ func TestAccGitlabProject_MergeTrains (t * testing.T ) {
498
+ var project gitlab.Project
499
+ rInt := acctest .RandInt ()
500
+
501
+ resource .Test (t , resource.TestCase {
502
+ PreCheck : func () { testAccPreCheck (t ) },
503
+ ProviderFactories : providerFactories ,
504
+ CheckDestroy : testAccCheckGitlabProjectDestroy ,
505
+ Steps : []resource.TestStep {
506
+ {
507
+ SkipFunc : isRunningInCE ,
508
+ Config : testAccGitLabProjectMergeTrainsEnabled (rInt ),
509
+ Check : resource .ComposeTestCheckFunc (
510
+ testAccCheckGitlabProjectExists ("gitlab_project.foo" , & project ),
511
+ func (s * terraform.State ) error {
512
+ if project .MergeTrainsEnabled != true {
513
+ return fmt .Errorf ("expected merge trains to be enabled" )
514
+ }
515
+
516
+ return nil
517
+ },
518
+ ),
519
+ },
520
+ },
521
+ })
522
+ }
523
+
466
524
func TestAccGitlabProject_willError (t * testing.T ) {
467
525
var received , defaults gitlab.Project
468
526
rInt := acctest .RandInt ()
@@ -1283,6 +1341,8 @@ resource "gitlab_project" "foo" {
1283
1341
pages_access_level = "disabled"
1284
1342
build_coverage_regex = "bar"
1285
1343
ci_forward_deployment_enabled = false
1344
+ merge_pipelines_enabled = false
1345
+ merge_trains_enabled = false
1286
1346
}
1287
1347
` , rInt , rInt )
1288
1348
}
@@ -1507,3 +1567,34 @@ resource "gitlab_project" "foo" {
1507
1567
}
1508
1568
` , rInt , rInt )
1509
1569
}
1570
+
1571
+ func testAccGitLabProjectMergePipelinesEnabled (rInt int ) string {
1572
+ return fmt .Sprintf (`
1573
+ resource "gitlab_project" "foo" {
1574
+ name = "foo-%d"
1575
+ path = "foo.%d"
1576
+ description = "Terraform acceptance tests"
1577
+ merge_pipelines_enabled = true
1578
+
1579
+ # So that acceptance tests can be run in a gitlab organization
1580
+ # with no billing
1581
+ visibility_level = "public"
1582
+ }
1583
+ ` , rInt , rInt )
1584
+ }
1585
+
1586
+ func testAccGitLabProjectMergeTrainsEnabled (rInt int ) string {
1587
+ return fmt .Sprintf (`
1588
+ resource "gitlab_project" "foo" {
1589
+ name = "foo-%d"
1590
+ path = "foo.%d"
1591
+ description = "Terraform acceptance tests"
1592
+ merge_pipelines_enabled = true
1593
+ merge_trains_enabled = true
1594
+
1595
+ # So that acceptance tests can be run in a gitlab organization
1596
+ # with no billing
1597
+ visibility_level = "public"
1598
+ }
1599
+ ` , rInt , rInt )
1600
+ }
0 commit comments