diff --git a/.github/workflows/e2e_test.yml b/.github/workflows/e2e_test.yml new file mode 100644 index 00000000..807c1d84 --- /dev/null +++ b/.github/workflows/e2e_test.yml @@ -0,0 +1,32 @@ +name: E2E tests + +on: + pull_request: + paths-ignore: + - "README.md" + - docs/** + - examples/** + branches: + - main + +permissions: + contents: read + +jobs: + e2e_test: + name: E2E tests + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 + with: + go-version-file: "go.mod" + cache: true + - uses: hashicorp/setup-terraform@651471c36a6092792c552e8b1bef71e592b462d8 # v3.1.1 + - run: go mod download + - run: | + make testacc + env: + TROCCO_API_KEY: ${{ secrets.TROCCO_API_KEY }} + TROCCO_TEST_URL: https://trocco.io diff --git a/internal/provider/connection_resource_test.go b/internal/provider/connection_resource_test.go index 32d539bc..098d5aa4 100644 --- a/internal/provider/connection_resource_test.go +++ b/internal/provider/connection_resource_test.go @@ -17,7 +17,6 @@ func TestAccConnectionResource(t *testing.T) { Config: providerConfig + ` resource "trocco_connection" "test" { connection_type = "bigquery" - name = "test" description = "The quick brown fox jumps over the lazy dog." project_id = "test" diff --git a/internal/provider/job_definition_resource_test.go b/internal/provider/job_definition_resource_test.go index 49f25d8d..1563a75a 100644 --- a/internal/provider/job_definition_resource_test.go +++ b/internal/provider/job_definition_resource_test.go @@ -1,7 +1,6 @@ package provider import ( - "fmt" "testing" "github.com/hashicorp/terraform-plugin-testing/helper/resource" @@ -14,20 +13,57 @@ func TestAccJobDefinitionResource(t *testing.T) { Steps: []resource.TestStep{ { Config: providerConfig + ` - - +resource "trocco_connection" "test_mysql" { + connection_type = "mysql" + name = "MySQL Example" + host = "db.example.com" + port = 65535 + user_name = "root" + password = "password" +} +resource "trocco_connection" "test_bq" { + connection_type = "bigquery" + name = "BigQuery Example" + project_id = "example" + service_account_json_key = <" is duplicated in the list.`), }, }, }) diff --git a/internal/provider/team_resource_test.go b/internal/provider/team_resource_test.go index 03af6179..2c01da92 100644 --- a/internal/provider/team_resource_test.go +++ b/internal/provider/team_resource_test.go @@ -19,7 +19,7 @@ func TestAccTeamResource(t *testing.T) { description = "test" members = [ { - user_id = 1 + user_id = 10626 role = "team_admin" } ] @@ -29,7 +29,6 @@ func TestAccTeamResource(t *testing.T) { resource.TestCheckResourceAttr("trocco_team.test", "name", "test"), resource.TestCheckResourceAttr("trocco_team.test", "description", "test"), resource.TestCheckResourceAttr("trocco_team.test", "members.#", "1"), - resource.TestCheckResourceAttr("trocco_team.test", "members.0.user_id", "1"), resource.TestCheckResourceAttr("trocco_team.test", "members.0.role", "team_admin"), ), }, @@ -43,16 +42,17 @@ func TestAccTeamResource(t *testing.T) { // Update testing { Config: providerConfig + ` + resource "trocco_team" "test" { name = "updated" description = "updated" members = [ { - user_id = 1 + user_id = 10626 role = "team_admin" }, { - user_id = 2 + user_id = 10652 role = "team_member" } ] @@ -62,9 +62,7 @@ func TestAccTeamResource(t *testing.T) { resource.TestCheckResourceAttr("trocco_team.test", "name", "updated"), resource.TestCheckResourceAttr("trocco_team.test", "description", "updated"), resource.TestCheckResourceAttr("trocco_team.test", "members.#", "2"), - resource.TestCheckResourceAttr("trocco_team.test", "members.0.user_id", "1"), resource.TestCheckResourceAttr("trocco_team.test", "members.0.role", "team_admin"), - resource.TestCheckResourceAttr("trocco_team.test", "members.1.user_id", "2"), resource.TestCheckResourceAttr("trocco_team.test", "members.1.role", "team_member"), ), },