terraform-provider-google/google/resource_sourcerepo_repository_test.go
The Magician 6b29503ef5 Move sourcerepo files (#2795)
<!-- This change is generated by MagicModules. -->
/cc @rileykarson
2019-01-03 13:39:45 -08:00

89 lines
2.3 KiB
Go

package google
import (
"fmt"
"testing"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource"
"github.com/hashicorp/terraform/terraform"
)
func TestAccSourceRepoRepository_basic(t *testing.T) {
t.Parallel()
repositoryName := fmt.Sprintf("source-repo-repository-test-%s", acctest.RandString(10))
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSourceRepoRepositoryDestroy,
Steps: []resource.TestStep{
{
Config: testAccSourceRepoRepository_basic(repositoryName),
Check: resource.ComposeTestCheckFunc(
testAccCheckSourceRepoRepositoryExists(
"google_sourcerepo_repository.acceptance", repositoryName),
),
},
{
ResourceName: "google_sourcerepo_repository.acceptance",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func testAccCheckSourceRepoRepositoryDestroy(s *terraform.State) error {
config := testAccProvider.Meta().(*Config)
for _, rs := range s.RootModule().Resources {
if rs.Type == "google_sourcerepo_repository" {
repositoryName := buildRepositoryName(config.Project, rs.Primary.Attributes["name"])
_, err := config.clientSourceRepo.Projects.Repos.Get(repositoryName).Do()
if err == nil {
return fmt.Errorf(repositoryName + "Source Repository still exists")
}
}
}
return nil
}
func testAccCheckSourceRepoRepositoryExists(resourceType, resourceName string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[resourceType]
if !ok {
return fmt.Errorf("Not found: %s", resourceName)
}
if rs.Primary.ID == "" {
return fmt.Errorf("No ID is set")
}
config := testAccProvider.Meta().(*Config)
repositoryName := buildRepositoryName(config.Project, resourceName)
resp, err := config.clientSourceRepo.Projects.Repos.Get(repositoryName).Do()
if err != nil {
return fmt.Errorf("Error confirming Source Repository existence: %#v", err)
}
if resp.Name != repositoryName {
return fmt.Errorf("Failed to verify Source Repository by name")
}
return nil
}
}
func testAccSourceRepoRepository_basic(repositoryName string) string {
return fmt.Sprintf(`
resource "google_sourcerepo_repository" "acceptance" {
name = "%s"
}
`, repositoryName)
}