Skip to content

Commit

Permalink
Filter Tests Added
Browse files Browse the repository at this point in the history
  • Loading branch information
adiyaar24 committed May 4, 2023
1 parent e40dc8d commit 315565c
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 0 deletions.
8 changes: 8 additions & 0 deletions internal/acctest/acctest.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,14 @@ func AccountLevelResourceImportStateIdFunc(resourceName string) resource.ImportS
}
}

func AccountFilterImportStateIdFunc(resourceName string) resource.ImportStateIdFunc {
return func(s *terraform.State) (string, error) {
primary := s.RootModule().Resources[resourceName].Primary
id := primary.ID
type_ := primary.Attributes["type"]
return fmt.Sprintf("%s/%s", id, type_), nil
}
}
func ProjectFilterImportStateIdFunc(resourceName string) resource.ImportStateIdFunc {
return func(s *terraform.State) (string, error) {
primary := s.RootModule().Resources[resourceName].Primary
Expand Down
45 changes: 45 additions & 0 deletions internal/service/platform/filters/data_source_filters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,31 @@ func TestAccDataSourceFilters(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccDataSourceFilters(id, name),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(resourceName, "identifier", id),
resource.TestCheckResourceAttr(resourceName, "name", name),
resource.TestCheckResourceAttr(resourceName, "type", "Connector"),
resource.TestCheckResourceAttr(resourceName, "filter_properties.0.tags.#", "1"),
resource.TestCheckResourceAttr(resourceName, "filter_properties.0.filter_type", "Connector"),
resource.TestCheckResourceAttr(resourceName, "filter_visibility", "EveryOne"),
),
},
},
})
}

func TestAccDataSourceFiltersProjectLevel(t *testing.T) {

id := fmt.Sprintf("%s_%s", t.Name(), utils.RandStringBytes(6))
name := id
resourceName := "data.harness_platform_filters.test"

resource.UnitTest(t, resource.TestCase{
PreCheck: func() { acctest.TestAccPreCheck(t) },
ProviderFactories: acctest.ProviderFactories,
Steps: []resource.TestStep{
{
Config: testAccDataSourceFiltersProjectLevel(id, name),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(resourceName, "identifier", id),
resource.TestCheckResourceAttr(resourceName, "org_id", id),
Expand Down Expand Up @@ -63,6 +88,26 @@ func TestAccDataSourceFiltersOrgLevel(t *testing.T) {
}

func testAccDataSourceFilters(id string, name string) string {
return fmt.Sprintf(`
resource "harness_platform_filters" "test" {
identifier = "%[1]s"
name = "%[2]s"
type = "Connector"
filter_properties {
tags = ["foo:bar"]
filter_type = "Connector"
}
filter_visibility = "EveryOne"
}
data "harness_platform_filters" "test" {
identifier = harness_platform_filters.test.identifier
type = harness_platform_filters.test.type
}
`, id, name)
}

func testAccDataSourceFiltersProjectLevel(id string, name string) string {
return fmt.Sprintf(`
resource "harness_platform_organization" "test" {
identifier = "%[1]s"
Expand Down
60 changes: 60 additions & 0 deletions internal/service/platform/filters/resource_filters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,50 @@ func TestAccResourceFilters(t *testing.T) {
resource.TestCheckResourceAttr(resourceName, "filter_visibility", "EveryOne"),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateIdFunc: acctest.AccountFilterImportStateIdFunc(resourceName),
},
},
})
}

func TestAccResourceFiltersProjectLevel(t *testing.T) {

id := fmt.Sprintf("%s_%s", t.Name(), utils.RandStringBytes(5))
name := id
updatedName := fmt.Sprintf("%s_updated", name)
resourceName := "harness_platform_filters.test"

resource.UnitTest(t, resource.TestCase{
PreCheck: func() { acctest.TestAccPreCheck(t) },
ProviderFactories: acctest.ProviderFactories,
CheckDestroy: testAccFiltersDestroy(resourceName),
Steps: []resource.TestStep{
{
Config: testAccResourceFiltersProjectLevel(id, name),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(resourceName, "id", id),
resource.TestCheckResourceAttr(resourceName, "name", name),
resource.TestCheckResourceAttr(resourceName, "type", "Connector"),
resource.TestCheckResourceAttr(resourceName, "filter_properties.0.tags.#", "1"),
resource.TestCheckResourceAttr(resourceName, "filter_properties.0.filter_type", "Connector"),
resource.TestCheckResourceAttr(resourceName, "filter_visibility", "EveryOne"),
),
},
{
Config: testAccResourceFiltersProjectLevel(id, updatedName),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr(resourceName, "id", id),
resource.TestCheckResourceAttr(resourceName, "name", updatedName),
resource.TestCheckResourceAttr(resourceName, "type", "Connector"),
resource.TestCheckResourceAttr(resourceName, "filter_properties.0.filter_type", "Connector"),
resource.TestCheckResourceAttr(resourceName, "filter_properties.0.tags.#", "1"),
resource.TestCheckResourceAttr(resourceName, "filter_visibility", "EveryOne"),
),
},
{
ResourceName: resourceName,
ImportState: true,
Expand Down Expand Up @@ -152,6 +196,22 @@ func buildField(r *terraform.ResourceState, field string) optional.String {
}

func testAccResourceFilters(id string, name string) string {
return fmt.Sprintf(`
resource "harness_platform_filters" "test" {
identifier = "%[1]s"
name = "%[2]s"
type = "Connector"
filter_properties {
tags = ["foo:bar"]
filter_type = "Connector"
}
filter_visibility = "EveryOne"
}
`, id, name)
}


func testAccResourceFiltersProjectLevel(id string, name string) string {
return fmt.Sprintf(`
resource "harness_platform_organization" "test" {
identifier = "%[1]s"
Expand Down

0 comments on commit 315565c

Please sign in to comment.