fix: refactor tests
Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 5s
CI Workflow / Test readiness for publishing provider (pull_request) Failing after 3m27s
CI Workflow / CI run tests (pull_request) Failing after 4m54s
CI Workflow / CI run build and linting (pull_request) Failing after 4m39s
CI Workflow / Code coverage report (pull_request) Has been skipped
Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 5s
CI Workflow / Test readiness for publishing provider (pull_request) Failing after 3m27s
CI Workflow / CI run tests (pull_request) Failing after 4m54s
CI Workflow / CI run build and linting (pull_request) Failing after 4m39s
CI Workflow / Code coverage report (pull_request) Has been skipped
This commit is contained in:
parent
826bb5b36a
commit
c7260e04e2
19 changed files with 521 additions and 938 deletions
|
|
@ -3,22 +3,14 @@ package stackit_test
|
|||
import (
|
||||
"context"
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"os"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
test "github.com/hashicorp/terraform-plugin-testing/helper/resource" //nolint:staticcheck // used for acceptance testing
|
||||
"github.com/jarcoal/httpmock"
|
||||
"github.com/stackitcloud/stackit-sdk-go/core/clients"
|
||||
|
||||
postgresflexalpha "github.com/stackitcloud/stackit-sdk-go/services/postgresflex/v3alpha1api"
|
||||
|
||||
sqlserverflexalphaDatabase "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/database"
|
||||
//nolint:staticcheck // used for acceptance testing
|
||||
postgresFlexAlphaFlavor "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/flavor"
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework/datasource"
|
||||
|
|
@ -29,14 +21,11 @@ import (
|
|||
postgresflexalphaFlavors "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/flavors"
|
||||
postgresFlexAlphaInstance "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/instance"
|
||||
postgresFlexAlphaUser "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/postgresflexalpha/user"
|
||||
//sqlserverflexalphaDatabase "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/database"
|
||||
//sqlserverFlexAlphaFlavor "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/flavor"
|
||||
//sqlserverFlexAlphaInstance "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance"
|
||||
//sqlserverFlexAlphaUser "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/user"
|
||||
//sqlserverflexBetaDatabase "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/database"
|
||||
//sqlserverFlexBetaFlavor "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/flavor"
|
||||
//sqlserverFlexBetaInstance "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/instance"
|
||||
//sqlserverFlexBetaUser "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/user"
|
||||
sqlserverFlexAlphaInstance "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/instance"
|
||||
sqlserverFlexAlphaUser "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexalpha/user"
|
||||
sqlserverflexBetaDatabase "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/database"
|
||||
sqlserverFlexBetaInstance "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/instance"
|
||||
sqlserverFlexBetaUser "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/sqlserverflexbeta/user"
|
||||
|
||||
"tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/internal/testutils"
|
||||
|
||||
|
|
@ -62,110 +51,6 @@ func TestMain(m *testing.M) {
|
|||
os.Exit(code)
|
||||
}
|
||||
|
||||
func TestMshTest(t *testing.T) {
|
||||
httpmock.Activate()
|
||||
defer httpmock.DeactivateAndReset()
|
||||
|
||||
testutils.ActivateEnvironmentHttpMocks()
|
||||
|
||||
httpmock.RegisterResponder(
|
||||
"POST", `https://service-account.api.stackit.cloud/token`,
|
||||
func(_ *http.Request) (*http.Response, error) {
|
||||
token := jwt.NewWithClaims(
|
||||
jwt.SigningMethodHS256, jwt.MapClaims{
|
||||
"foo": "bar",
|
||||
"nbf": time.Date(2015, 10, 10, 12, 0, 0, 0, time.UTC).Unix(),
|
||||
},
|
||||
)
|
||||
// Sign and get the complete encoded token as a string using the secret
|
||||
tokenString, err := token.SignedString([]byte("mySecret"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
tR := clients.TokenResponseBody{
|
||||
AccessToken: tokenString,
|
||||
ExpiresIn: 3600,
|
||||
RefreshToken: "",
|
||||
Scope: "",
|
||||
TokenType: "",
|
||||
}
|
||||
|
||||
return httpmock.NewJsonResponse(http.StatusOK, tR)
|
||||
},
|
||||
)
|
||||
|
||||
httpmock.RegisterResponder(
|
||||
"GET",
|
||||
`https://postgres-flex-service.api.eu01.stackit.cloud/v3alpha1/projects/xyz-project-id/regions/eu01/flavors?page=1&size=25&sort=id.asc`,
|
||||
func(_ *http.Request) (*http.Response, error) {
|
||||
res := postgresflexalpha.GetFlavorsResponse{
|
||||
Flavors: []postgresflexalpha.ListFlavors{
|
||||
{
|
||||
Cpu: 0,
|
||||
Description: "",
|
||||
Id: "",
|
||||
MaxGB: 0,
|
||||
Memory: 0,
|
||||
MinGB: 0,
|
||||
NodeType: "",
|
||||
StorageClasses: nil,
|
||||
},
|
||||
},
|
||||
Pagination: postgresflexalpha.Pagination{
|
||||
Page: (int32(1)),
|
||||
Size: (int32(25)),
|
||||
Sort: "",
|
||||
TotalPages: (int32(1)),
|
||||
TotalRows: (int32(0)),
|
||||
},
|
||||
}
|
||||
return httpmock.NewJsonResponse(
|
||||
http.StatusOK,
|
||||
res,
|
||||
)
|
||||
},
|
||||
)
|
||||
|
||||
if _, ok := os.LookupEnv("TF_ACC_SERVICE_ACCOUNT_FILE"); !ok {
|
||||
t.Skipf("TF_ACC_SERVICE_ACCOUNT_FILE is missing")
|
||||
}
|
||||
|
||||
test.Test(
|
||||
t, test.TestCase{
|
||||
IsUnitTest: true,
|
||||
ProtoV6ProviderFactories: testutils.TestAccProtoV6ProviderFactories,
|
||||
Steps: []test.TestStep{
|
||||
{
|
||||
ConfigVariables: map[string]config.Variable{
|
||||
"project_id": config.StringVariable("xyz-project-id"),
|
||||
},
|
||||
Config: fmt.Sprintf(
|
||||
`
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "%[1]s"
|
||||
service_account_key_path = "%[2]s"
|
||||
}
|
||||
variable "project_id" {
|
||||
type = string
|
||||
}
|
||||
data "stackitprivatepreview_postgresflexalpha_flavor" "all" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 2
|
||||
ram = 4
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}`,
|
||||
os.Getenv("TF_ACC_REGION"),
|
||||
os.Getenv("TF_ACC_SERVICE_ACCOUNT_FILE"),
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
func TestUnitProviderHasChildDataSources_Basic(t *testing.T) {
|
||||
expectedDataSources := []datasource.DataSource{
|
||||
postgresFlexAlphaFlavor.NewFlavorDataSource(),
|
||||
|
|
@ -175,15 +60,15 @@ func TestUnitProviderHasChildDataSources_Basic(t *testing.T) {
|
|||
postgresFlexAlphaUser.NewUserDataSource(),
|
||||
postgresflexalphaFlavors.NewFlavorsDataSource(),
|
||||
|
||||
//sqlserverFlexAlphaFlavor.NewFlavorDataSource(),
|
||||
//sqlserverFlexAlphaInstance.NewInstanceDataSource(),
|
||||
//sqlserverFlexAlphaUser.NewUserDataSource(),
|
||||
//sqlserverflexalphaDatabase.NewDatabaseDataSource(),
|
||||
// sqlserverFlexAlphaFlavor.NewFlavorDataSource(),
|
||||
sqlserverFlexAlphaInstance.NewInstanceDataSource(),
|
||||
sqlserverFlexAlphaUser.NewUserDataSource(),
|
||||
sqlserverflexalphaDatabase.NewDatabaseDataSource(),
|
||||
|
||||
//sqlserverflexBetaDatabase.NewDatabaseDataSource(),
|
||||
//sqlserverFlexBetaInstance.NewInstanceDataSource(),
|
||||
//sqlserverFlexBetaUser.NewUserDataSource(),
|
||||
//sqlserverFlexBetaFlavor.NewFlavorDataSource(),
|
||||
sqlserverflexBetaDatabase.NewDatabaseDataSource(),
|
||||
sqlserverFlexBetaInstance.NewInstanceDataSource(),
|
||||
sqlserverFlexBetaUser.NewUserDataSource(),
|
||||
// sqlserverFlexBetaFlavor.NewFlavorDataSource(),
|
||||
}
|
||||
provider, ok := stackit.New("testing")().(*stackit.Provider)
|
||||
if !ok {
|
||||
|
|
@ -212,13 +97,13 @@ func TestUnitProviderHasChildResources_Basic(t *testing.T) {
|
|||
postgresFlexAlphaUser.NewUserResource(),
|
||||
postgresFlexAlphaDatabase.NewDatabaseResource(),
|
||||
|
||||
//sqlserverFlexAlphaInstance.NewInstanceResource(),
|
||||
//sqlserverFlexAlphaUser.NewUserResource(),
|
||||
//sqlserverflexalphaDatabase.NewDatabaseResource(),
|
||||
sqlserverFlexAlphaInstance.NewInstanceResource(),
|
||||
sqlserverFlexAlphaUser.NewUserResource(),
|
||||
sqlserverflexalphaDatabase.NewDatabaseResource(),
|
||||
|
||||
//sqlserverFlexBetaInstance.NewInstanceResource(),
|
||||
//sqlserverFlexBetaUser.NewUserResource(),
|
||||
//sqlserverflexBetaDatabase.NewDatabaseResource(),
|
||||
sqlserverFlexBetaInstance.NewInstanceResource(),
|
||||
sqlserverFlexBetaUser.NewUserResource(),
|
||||
sqlserverflexBetaDatabase.NewDatabaseResource(),
|
||||
}
|
||||
provider, ok := stackit.New("testing")().(*stackit.Provider)
|
||||
if !ok {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue