acc

package
v1.21.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2024 License: MPL-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const AwsProviderVersion = "5.1.0"
View Source
const (
	// Provider name for single configuration testing
	ProviderNameMongoDBAtlas = "mongodbatlas"
)

Variables

View Source
var (
	ClusterTagsMap1 = map[string]string{
		"key":   "key 1",
		"value": "value 1",
	}

	ClusterTagsMap2 = map[string]string{
		"key":   "key 2",
		"value": "value 2",
	}

	ClusterTagsMap3 = map[string]string{
		"key":   "key 3",
		"value": "value 3",
	}
)
View Source
var (
	ClusterAdvConfigOplogMinRetentionHours = "oplog_min_retention_hours"
)
View Source
var MongoDBClient *config.MongoDBClient

MongoDBClient is used to configure client required for Framework-based acceptance tests.

View Source
var TestAccProviderV6Factories map[string]func() (tfprotov6.ProviderServer, error)

TestAccProviderV6Factories is used in all tests for ProtoV6ProviderFactories.

Functions

func AddAttrChecks added in v1.15.3

func AddAttrChecks(targetName string, checks []resource.TestCheckFunc, mapChecks map[string]string) []resource.TestCheckFunc

func AddAttrChecksPrefix added in v1.17.0

func AddAttrChecksPrefix(targetName string, checks []resource.TestCheckFunc, mapChecks map[string]string, prefix string, skipNames ...string) []resource.TestCheckFunc

func AddAttrSetChecks added in v1.15.3

func AddAttrSetChecks(targetName string, checks []resource.TestCheckFunc, attrNames ...string) []resource.TestCheckFunc

func AddAttrSetChecksPrefix added in v1.19.0

func AddAttrSetChecksPrefix(targetName string, checks []resource.TestCheckFunc, attrNames []string, prefix string) []resource.TestCheckFunc

func AddNoAttrSetChecks added in v1.16.0

func AddNoAttrSetChecks(targetName string, checks []resource.TestCheckFunc, attrNames ...string) []resource.TestCheckFunc

func CIDRBlockExpression added in v1.17.0

func CIDRBlockExpression() resource.CheckResourceAttrWithFunc

func CheckClusterExistsHandlingRetry added in v1.18.0

func CheckClusterExistsHandlingRetry(projectID, clusterName string) error

func CheckDestroyCluster added in v1.15.2

func CheckDestroyCluster(s *terraform.State) error

func CheckDestroyFederatedDatabaseInstance

func CheckDestroyFederatedDatabaseInstance(s *terraform.State) error

func CheckDestroyNetworkPeering

func CheckDestroyNetworkPeering(s *terraform.State) error

func CheckDestroyOrgInvitation

func CheckDestroyOrgInvitation(s *terraform.State) error

func CheckDestroyProject

func CheckDestroyProject(s *terraform.State) error

func CheckDestroyProjectGov added in v1.16.1

func CheckDestroyProjectGov(s *terraform.State) error

func CheckDestroySearchIndex

func CheckDestroySearchIndex(state *terraform.State) error

func CheckDestroyStreamInstance

func CheckDestroyStreamInstance(state *terraform.State) error

func CheckDestroyTeam

func CheckDestroyTeam(s *terraform.State) error

func CheckEARExists added in v1.19.0

func CheckEARExists(resourceName string) resource.TestCheckFunc

func CheckRSAndDS added in v1.19.0

func CheckRSAndDS(resourceName string, dataSourceName, pluralDataSourceName *string, attrsSet []string, attrsMap map[string]string, extra ...resource.TestCheckFunc) resource.TestCheckFunc

CheckRSAndDS returns a check function that asserts a set of attributes (presence and values) in resource and data sources. If a plural data source name is provided, it will apply checks over first result

func ClusterDatasourceHcl added in v1.17.4

func ClusterDatasourceHcl(req *ClusterRequest) (configStr, clusterName, resourceName string, err error)

func ClusterNameExecution added in v1.16.0

func ClusterNameExecution(tb testing.TB) (projectID, clusterName string)

ClusterNameExecution returns the name of a created cluster for the execution of the tests in the resource package. This function relies on using an execution project and returns its id. When `MONGODB_ATLAS_CLUSTER_NAME` and `MONGODB_ATLAS_PROJECT_ID` are defined it will be used instead of creating resources. This is useful for local execution but not intended for CI executions.

func ClusterResourceHcl added in v1.17.4

func ClusterResourceHcl(req *ClusterRequest) (configStr, clusterName, resourceName string, err error)

func ConfigAzapiProvider added in v1.19.0

func ConfigAzapiProvider(subscriptionID, clientID, clientSecret, tenantID string) string

configAzapiProvider creates a new azure/azapi provider with credentials explicit in config. This will authorize the provider for a client

func ConfigDataBaseUserWithOIDCAuthType added in v1.17.0

func ConfigDataBaseUserWithOIDCAuthType(projectID, username, authType, databaseName, roleName string) string

func ConfigDatabaseUserBasic

func ConfigDatabaseUserBasic(projectID, username, roleName, keyLabel, valueLabel string) string

func ConfigDatabaseUserWithAWSIAMType

func ConfigDatabaseUserWithAWSIAMType(projectID, username, roleName, keyLabel, valueLabel string) string

func ConfigDatabaseUserWithLDAPAuthType

func ConfigDatabaseUserWithLDAPAuthType(projectID, username, roleName, keyLabel, valueLabel string) string

func ConfigDatabaseUserWithLabels

func ConfigDatabaseUserWithLabels(projectID, username, roleName string, labels []admin.ComponentLabel) string

func ConfigDatabaseUserWithRoles

func ConfigDatabaseUserWithRoles(projectID, username, password string, rolesArr []*admin.DatabaseUserRole) string

func ConfigDatabaseUserWithScopes

func ConfigDatabaseUserWithScopes(projectID, username, password, roleName string, scopesArr []*admin.UserScope) string

func ConfigDatabaseUserWithX509Type

func ConfigDatabaseUserWithX509Type(projectID, username, x509Type, roleName, keyLabel, valueLabel string) string

func ConfigEARAzureKeyVault added in v1.19.0

func ConfigEARAzureKeyVault(projectID string, azure *admin.AzureKeyVault, useRequirePrivateNetworking, useDatasource bool) string

func ConfigGovProvider added in v1.16.1

func ConfigGovProvider() string

ConfigGovProvider creates provider using MONGODB_ATLAS_GOV_* env vars.

Remember to use PreCheckGovBasic when using this.

func ConfigProjectWithSettings added in v1.15.0

func ConfigProjectWithSettings(projectName, orgID, projectOwnerID string, value bool) string

func ConfigServerlessInstance added in v1.16.0

func ConfigServerlessInstance(projectID, name string, ignoreConnectionStrings bool, autoIndexing *bool, tags []admin.ResourceTag) string

func Conn added in v1.15.0

func Conn() *matlas.Client

func ConnV2 added in v1.15.0

func ConnV2() *admin.APIClient

func ConnV2UsingGov added in v1.16.1

func ConnV2UsingGov() *admin.APIClient

func ConnV2UsingProxy added in v1.15.3

func ConnV2UsingProxy(proxyPort *int) *admin.APIClient

func ConvertToAzureKeyVaultEARAttrMap added in v1.19.0

func ConvertToAzureKeyVaultEARAttrMap(az *admin.AzureKeyVault) map[string]string

func DebugPlan

func DebugPlan() plancheck.PlanCheck

func EARCheckResourceAttr added in v1.19.0

func EARCheckResourceAttr(resourceName, prefix string, attrsMap map[string]string) resource.TestCheckFunc

func EARDatasourceConfig added in v1.19.0

func EARDatasourceConfig() string

func EARDestroy added in v1.19.0

func EARDestroy(s *terraform.State) error

func EARImportStateIDFunc added in v1.19.0

func EARImportStateIDFunc(resourceName string) resource.ImportStateIdFunc

func ExistingClusterUsed added in v1.15.2

func ExistingClusterUsed() bool

func ExternalProviders added in v1.15.0

func ExternalProviders(versionAtlasProvider string) map[string]resource.ExternalProvider

func ExternalProvidersOnlyAWS added in v1.15.0

func ExternalProvidersOnlyAWS() map[string]resource.ExternalProvider

func ExternalProvidersOnlyAzapi added in v1.19.0

func ExternalProvidersOnlyAzapi() map[string]resource.ExternalProvider

func ExternalProvidersWithAWS added in v1.15.0

func ExternalProvidersWithAWS(versionAtlasProvider string) map[string]resource.ExternalProvider

func FormatToHCLLifecycleIgnore added in v1.16.0

func FormatToHCLLifecycleIgnore(keys ...string) string

func FormatToHCLMap added in v1.16.0

func FormatToHCLMap(m map[string]string, indent, varName string) string

func GetProjectTeamsIDsWithPos added in v1.15.2

func GetProjectTeamsIDsWithPos(pos int) string

func IDWithProjectIDClusterName added in v1.20.0

func IDWithProjectIDClusterName(projectID, clusterName string) (string, error)

func ImportStateClusterIDFunc

func ImportStateClusterIDFunc(resourceName string) resource.ImportStateIdFunc

func ImportStateIDFuncProjectIDClusterName added in v1.20.0

func ImportStateIDFuncProjectIDClusterName(resourceName string) resource.ImportStateIdFunc

func ImportStateProjectIDFunc

func ImportStateProjectIDFunc(resourceName string) resource.ImportStateIdFunc

func InCI added in v1.15.3

func InCI() bool

func InUnitTest added in v1.15.2

func InUnitTest() bool

func IntGreatThan

func IntGreatThan(value int) resource.CheckResourceAttrWithFunc

func IsProjectNameOrID added in v1.21.4

func IsProjectNameOrID(expected string) resource.CheckResourceAttrWithFunc

IsProjectNameOrID accepts a project id or name and checks if the input project id matches the expected project

func JSONEquals

func JSONEquals(expected string) resource.CheckResourceAttrWithFunc

func MatchesExpression

func MatchesExpression(expr string) resource.CheckResourceAttrWithFunc

func PreCheck

func PreCheck(tb testing.TB)

PreCheck checks common Atlas environment variables and MONGODB_ATLAS_PROJECT_ID. Deprecated: it should not be used as MONGODB_ATLAS_PROJECT_ID is not intended to be used in CI. Use PreCheckBasic instead.

func PreCheckAtlasUsername

func PreCheckAtlasUsername(tb testing.TB)

func PreCheckAtlasUsernames added in v1.21.1

func PreCheckAtlasUsernames(tb testing.TB)

func PreCheckAwsEnv

func PreCheckAwsEnv(tb testing.TB)

func PreCheckAwsEnvBasic added in v1.16.0

func PreCheckAwsEnvBasic(tb testing.TB)

func PreCheckAwsEnvPrivateLinkEndpointService added in v1.16.1

func PreCheckAwsEnvPrivateLinkEndpointService(tb testing.TB)

func PreCheckAwsRegionCases added in v1.17.4

func PreCheckAwsRegionCases(tb testing.TB)

func PreCheckAzureExportBucket added in v1.18.0

func PreCheckAzureExportBucket(tb testing.TB)

func PreCheckBasic

func PreCheckBasic(tb testing.TB)

func PreCheckBasicOwnerID

func PreCheckBasicOwnerID(tb testing.TB)

func PreCheckBasicSleep added in v1.21.2

func PreCheckBasicSleep(tb testing.TB, clusterInfo *ClusterInfo, projectID, clusterName string) func()

PreCheckBasicSleep is a helper function to call SerialSleep, see its help for more info. Some examples of use are when the test is calling ProjectIDExecution or GetClusterInfo to create clusters.

func PreCheckCert added in v1.15.1

func PreCheckCert(tb testing.TB)

func PreCheckCloudProviderAccessAzure

func PreCheckCloudProviderAccessAzure(tb testing.TB)

func PreCheckDataLakePipelineRun

func PreCheckDataLakePipelineRun(tb testing.TB)

func PreCheckDataLakePipelineRuns

func PreCheckDataLakePipelineRuns(tb testing.TB)

func PreCheckEncryptionAtRestEnvAzure

func PreCheckEncryptionAtRestEnvAzure(tb testing.TB)

func PreCheckEncryptionAtRestEnvAzureWithUpdate added in v1.19.0

func PreCheckEncryptionAtRestEnvAzureWithUpdate(tb testing.TB)

func PreCheckEncryptionAtRestPrivateEndpoint added in v1.19.0

func PreCheckEncryptionAtRestPrivateEndpoint(tb testing.TB)

func PreCheckFederatedSettings

func PreCheckFederatedSettings(tb testing.TB)

func PreCheckFederatedSettingsIdentityProvider added in v1.16.1

func PreCheckFederatedSettingsIdentityProvider(tb testing.TB)

func PreCheckGPCEnv

func PreCheckGPCEnv(tb testing.TB)

func PreCheckGovBasic added in v1.16.0

func PreCheckGovBasic(tb testing.TB)

func PreCheckLDAP

func PreCheckLDAP(tb testing.TB)

func PreCheckLDAPCert added in v1.15.2

func PreCheckLDAPCert(tb testing.TB)

func PreCheckPeeringEnvAWS

func PreCheckPeeringEnvAWS(tb testing.TB)

func PreCheckPeeringEnvAzure

func PreCheckPeeringEnvAzure(tb testing.TB)

func PreCheckPeeringEnvGCP

func PreCheckPeeringEnvGCP(tb testing.TB)

func PreCheckPreviewFlag added in v1.15.2

func PreCheckPreviewFlag(tb testing.TB)

PreCheckPreviewFlag is used for resources not yet in GA

func PreCheckPrivateEndpoint added in v1.15.2

func PreCheckPrivateEndpoint(tb testing.TB)

func PreCheckProjectTeamsIDsWithMinCount added in v1.15.2

func PreCheckProjectTeamsIDsWithMinCount(tb testing.TB, minTeamsCount int)

func PreCheckRegularCredsAreEmpty

func PreCheckRegularCredsAreEmpty(tb testing.TB)

func PreCheckS3Bucket added in v1.15.0

func PreCheckS3Bucket(tb testing.TB)

func PreCheckSTSAssumeRole

func PreCheckSTSAssumeRole(tb testing.TB)

func ProjectID added in v1.15.3

func ProjectID(tb testing.TB, name string) string

ProjectID returns the id for a project name. When `MONGODB_ATLAS_PROJECT_ID` is defined, it is used instead of creating a project. This is useful for local execution but not intended for CI executions.

func ProjectIDExecution added in v1.15.2

func ProjectIDExecution(tb testing.TB) string

ProjectIDExecution returns a project id created for the execution of the tests in the resource package. Even if a GH test group is run, every resource/package will create its own project, not a shared project for all the test group. When `MONGODB_ATLAS_PROJECT_ID` is defined, it is used instead of creating a project. This is useful for local execution but not intended for CI executions.

func RandomClusterName added in v1.15.2

func RandomClusterName() string

func RandomEmail added in v1.15.2

func RandomEmail() string

func RandomIAMRole added in v1.15.2

func RandomIAMRole() string

func RandomIAMUser added in v1.15.2

func RandomIAMUser() string

func RandomIP added in v1.15.2

func RandomIP(a, b, c byte) string

func RandomLDAPName added in v1.15.2

func RandomLDAPName() string

func RandomName added in v1.15.2

func RandomName() string

func RandomProjectName added in v1.15.2

func RandomProjectName() string

func RandomS3BucketName added in v1.16.0

func RandomS3BucketName() string

func SerialSleep added in v1.21.2

func SerialSleep(tb testing.TB)

SerialSleep waits a few seconds the first time so the first cluster in a project is not created concurrently, see HELP-65223. This must be called once the test is marked as parallel, e.g. in PreCheck inside Terraform tests.

func SetupSharedResources added in v1.15.2

func SetupSharedResources() func()

SetupSharedResources must be called from TestMain test package in order to use ProjectIDExecution. It returns the cleanup function that must be called at the end of TestMain.

func SkipInUnitTest added in v1.15.2

func SkipInUnitTest(tb testing.TB)

SkipInUnitTest allows skipping a test entirely when TF_ACC=1 is not defined. This can be useful for acceptance tests that define logic prior to resource.Test/resource.ParallelTest functions as this code would always be run.

func SkipTestForCI

func SkipTestForCI(tb testing.TB)

SkipTestForCI is added to tests that cannot run as part of CI, e.g. in Github actions.

func StreamInstanceConfig

func StreamInstanceConfig(projectID, instanceName, region, cloudProvider string) string

func StreamInstanceWithStreamConfigConfig added in v1.15.2

func StreamInstanceWithStreamConfigConfig(projectID, instanceName, region, cloudProvider, configTier string) string

func TestAccProviderV6FactoriesWithProxy added in v1.15.3

func TestAccProviderV6FactoriesWithProxy(proxyPort *int) map[string]func() (tfprotov6.ProviderServer, error)

func ToSnakeCase added in v1.17.4

func ToSnakeCase(str string) string

Types

type ClusterInfo

type ClusterInfo struct {
	ProjectID        string
	Name             string
	ResourceName     string
	TerraformNameRef string
	TerraformStr     string
}

func GetClusterInfo

func GetClusterInfo(tb testing.TB, req *ClusterRequest) ClusterInfo

GetClusterInfo is used to obtain a project and cluster configuration resource. When `MONGODB_ATLAS_CLUSTER_NAME` and `MONGODB_ATLAS_PROJECT_ID` are defined, a data source is created instead. This is useful for local execution but not intended for CI executions. Clusters will be created in project ProjectIDExecution or in req.ProjectID which can be both a direct id, e.g., `664610ec80cc36255e634074` or a config reference `mongodbatlas_project.test.id`.

type ClusterRequest added in v1.15.2

type ClusterRequest struct {
	Tags                   map[string]string
	ProjectID              string
	ResourceSuffix         string
	AdvancedConfiguration  map[string]any
	ResourceDependencyName string
	ClusterName            string
	MongoDBMajorVersion    string
	ReplicationSpecs       []ReplicationSpecRequest
	DiskSizeGb             int
	CloudBackup            bool
	Geosharded             bool
	RetainBackupsEnabled   bool
	PitEnabled             bool
}

ClusterRequest contains configuration for a cluster where all fields are optional and AddDefaults is used for required fields. Used together with GetClusterInfo which will set ProjectID if it is unset.

func (*ClusterRequest) AddDefaults added in v1.17.4

func (r *ClusterRequest) AddDefaults()

AddDefaults ensures the required fields are populated to generate a resource.

func (*ClusterRequest) ClusterType added in v1.17.4

func (r *ClusterRequest) ClusterType() string

type ReplicationSpecRequest added in v1.17.4

type ReplicationSpecRequest struct {
	ZoneName                 string
	Region                   string
	InstanceSize             string
	ProviderName             string
	EbsVolumeType            string
	ExtraRegionConfigs       []ReplicationSpecRequest
	NodeCount                int
	NodeCountReadOnly        int
	Priority                 int
	AutoScalingDiskGbEnabled bool
}

ReplicationSpecRequest can be used to customize the ReplicationSpecs of a Cluster. No fields are required. Use `ExtraRegionConfigs` to specify multiple region configs.

func (*ReplicationSpecRequest) AddDefaults added in v1.17.4

func (r *ReplicationSpecRequest) AddDefaults()

func (*ReplicationSpecRequest) AllRegionConfigs added in v1.17.4

func (r *ReplicationSpecRequest) AllRegionConfigs() []admin.CloudRegionConfig20240805

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL