mirror of
https://github.com/ysoftdevs/terraform-provider-bitbucketserver.git
synced 2026-04-26 10:38:27 +02:00
Add resource_project_branch_permissions (#47)
Resolves gavinbunney/terraform-provider-bitbucketserver#17
This commit is contained in:
committed by
GitHub
parent
2e2fc4e78f
commit
bd6992d6e0
102
bitbucket/resource_project_branch_permissions_test.go
Normal file
102
bitbucket/resource_project_branch_permissions_test.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package bitbucket
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccBitbucketResourceBranchPermission_requiredArgumentsOnly(t *testing.T) {
|
||||
projectKey := fmt.Sprintf("TEST%v", rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
config := baseConfigForRepositoryBasedTests(projectKey) + `
|
||||
resource "bitbucketserver_project_branch_permissions" "test" {
|
||||
project = bitbucketserver_project.test.key
|
||||
repository = bitbucketserver_repository.test.slug
|
||||
ref_pattern = "refs/heads/master"
|
||||
type = "pull-request-only"
|
||||
}`
|
||||
|
||||
resourceName := "bitbucketserver_project_branch_permissions.test"
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
resource.TestCheckResourceAttr(resourceName, "id", fmt.Sprintf("%v|repo|refs/heads/master|pull-request-only", projectKey)),
|
||||
resource.TestCheckResourceAttr(resourceName, "project", projectKey),
|
||||
resource.TestCheckResourceAttr(resourceName, "repository", "repo"),
|
||||
resource.TestCheckResourceAttr(resourceName, "ref_pattern", "refs/heads/master"),
|
||||
resource.TestCheckResourceAttr(resourceName, "type", "pull-request-only"),
|
||||
resource.TestCheckResourceAttrSet(resourceName, "permission_id"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func TestAccBitbucketResourceBranchPermission_allArguments(t *testing.T) {
|
||||
projectKey := fmt.Sprintf("TEST%v", rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||
|
||||
config := baseConfigForRepositoryBasedTests(projectKey) + `
|
||||
resource "bitbucketserver_group" "test" {
|
||||
name = bitbucketserver_project.test.name
|
||||
}
|
||||
|
||||
resource "bitbucketserver_group" "test_2" {
|
||||
name = format("%s-%s", bitbucketserver_project.test.name, "2")
|
||||
}
|
||||
|
||||
resource "bitbucketserver_project_branch_permissions" "test" {
|
||||
project = bitbucketserver_project.test.key
|
||||
repository = bitbucketserver_repository.test.slug
|
||||
ref_pattern = "refs/heads/master"
|
||||
type = "pull-request-only"
|
||||
exception_users = ["admin"]
|
||||
exception_groups = [bitbucketserver_group.test.name, bitbucketserver_group.test_2.name]
|
||||
}
|
||||
|
||||
resource "bitbucketserver_project_branch_permissions" "test_2" {
|
||||
project = bitbucketserver_project.test.key
|
||||
repository = bitbucketserver_repository.test.slug
|
||||
ref_pattern = "refs/heads/master"
|
||||
type = "no-deletes"
|
||||
depends_on = [bitbucketserver_project_branch_permissions.test]
|
||||
}
|
||||
`
|
||||
|
||||
resourceName := "bitbucketserver_project_branch_permissions.test"
|
||||
resourceName2 := "bitbucketserver_project_branch_permissions.test_2"
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: config,
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
resource.TestCheckResourceAttr(resourceName, "id", fmt.Sprintf("%v|repo|refs/heads/master|pull-request-only", projectKey)),
|
||||
resource.TestCheckResourceAttr(resourceName, "project", projectKey),
|
||||
resource.TestCheckResourceAttr(resourceName, "repository", "repo"),
|
||||
resource.TestCheckResourceAttr(resourceName, "ref_pattern", "refs/heads/master"),
|
||||
resource.TestCheckResourceAttr(resourceName, "type", "pull-request-only"),
|
||||
resource.TestCheckResourceAttrSet(resourceName, "permission_id"),
|
||||
resource.TestCheckResourceAttr(resourceName, "exception_users.#", "1"),
|
||||
resource.TestCheckResourceAttr(resourceName, "exception_users.0", "admin"),
|
||||
resource.TestCheckResourceAttr(resourceName, "exception_groups.#", "2"),
|
||||
resource.TestCheckResourceAttr(resourceName, "exception_groups.0", fmt.Sprintf("test-project-%s", projectKey)),
|
||||
resource.TestCheckResourceAttr(resourceName, "exception_groups.1", fmt.Sprintf("test-project-%s-2", projectKey)),
|
||||
|
||||
resource.TestCheckResourceAttr(resourceName2, "type", "no-deletes"),
|
||||
resource.TestCheckResourceAttrSet(resourceName2, "permission_id"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user