Extend Argus acc test to update instance plan (#236)

* Extend Argus acc test to update instance plan

* Update Argus SDK module to have longer wait timeouts
This commit is contained in:
João Palet 2024-01-26 17:38:17 +00:00 committed by GitHub
parent 805d283d5b
commit bb8df8b1b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 20 deletions

6
go.mod
View file

@ -12,7 +12,7 @@ require (
github.com/hashicorp/terraform-plugin-log v0.9.0
github.com/hashicorp/terraform-plugin-testing v1.6.0
github.com/stackitcloud/stackit-sdk-go/core v0.7.6
github.com/stackitcloud/stackit-sdk-go/services/argus v0.9.2
github.com/stackitcloud/stackit-sdk-go/services/argus v0.9.3
github.com/stackitcloud/stackit-sdk-go/services/dns v0.8.2
github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.9.0
github.com/stackitcloud/stackit-sdk-go/services/logme v0.9.2
@ -81,8 +81,8 @@ require (
golang.org/x/sys v0.16.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect
google.golang.org/grpc v1.60.1 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect
google.golang.org/grpc v1.61.0 // indirect
google.golang.org/protobuf v1.32.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
)

12
go.sum
View file

@ -154,8 +154,8 @@ github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
github.com/stackitcloud/stackit-sdk-go/core v0.7.6 h1:AhbhfshlDJq0wuJRlw+TbwiX0slyA72Aei544g5CnHM=
github.com/stackitcloud/stackit-sdk-go/core v0.7.6/go.mod h1:ePb/1v9P1++W/92rN9mdToUkaMiK7lz4SVFY2KtSrB4=
github.com/stackitcloud/stackit-sdk-go/services/argus v0.9.2 h1:XC7jcO/dIppFqIpDRBZZRv/eWgpaZlMnfyz2y0uIRps=
github.com/stackitcloud/stackit-sdk-go/services/argus v0.9.2/go.mod h1:94dlaKVFBa/BFdITSrHMfioprfvRk0vFI3onIoFQ/A4=
github.com/stackitcloud/stackit-sdk-go/services/argus v0.9.3 h1:jp2J9+trM/6cYNRJnk7lEpYaYXbQa6dEKy4wjFYiT3c=
github.com/stackitcloud/stackit-sdk-go/services/argus v0.9.3/go.mod h1:Rc5ouM1qU31rExRFxlZj5Ma/tI5sm9Ze7uPIC6wj0E8=
github.com/stackitcloud/stackit-sdk-go/services/dns v0.8.2 h1:Wj3A+BAitSK74dRMxEGoKU1itEZmjwrAECT/CgsEJOQ=
github.com/stackitcloud/stackit-sdk-go/services/dns v0.8.2/go.mod h1:RYRnST/3Kz5GmxMmFvsaYFblfZ/LMxw8r9DNfnRhX/4=
github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.9.0 h1:3IfkTuietiJMCn8xT8ImmO06njiA463rUH75SrRNxzc=
@ -272,10 +272,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA=
google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU=
google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe h1:bQnxqljG/wqi4NTXu2+DJ3n7APcEA882QZ1JvhQAq9o=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s=
google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0=
google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=

View file

@ -18,9 +18,10 @@ import (
)
var instanceResource = map[string]string{
"project_id": testutil.ProjectId,
"name": testutil.ResourceNameWithDateTime("argus"),
"plan_name": "Monitoring-Medium-EU01",
"project_id": testutil.ProjectId,
"name": testutil.ResourceNameWithDateTime("argus"),
"plan_name": "Monitoring-Basic-EU01",
"new_plan_name": "Monitoring-Medium-EU01",
}
var scrapeConfigResource = map[string]string{
@ -38,7 +39,7 @@ var credentialResource = map[string]string{
"project_id": testutil.ProjectId,
}
func resourceConfig(instanceName, target, saml2EnableUrlParameters string) string {
func resourceConfig(instanceName, planName, target, saml2EnableUrlParameters string) string {
return fmt.Sprintf(`
%s
@ -70,7 +71,7 @@ func resourceConfig(instanceName, target, saml2EnableUrlParameters string) strin
testutil.ArgusProviderConfig(),
instanceResource["project_id"],
instanceName,
instanceResource["plan_name"],
planName,
scrapeConfigResource["name"],
scrapeConfigResource["metrics_path"],
target,
@ -87,7 +88,7 @@ func TestAccResource(t *testing.T) {
Steps: []resource.TestStep{
// Creation
{
Config: resourceConfig(instanceResource["name"], scrapeConfigResource["urls"], scrapeConfigResource["saml2_enable_url_parameters"]),
Config: resourceConfig(instanceResource["name"], instanceResource["plan_name"], scrapeConfigResource["urls"], scrapeConfigResource["saml2_enable_url_parameters"]),
Check: resource.ComposeAggregateTestCheckFunc(
// Instance data
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "project_id", instanceResource["project_id"]),
@ -156,7 +157,7 @@ func TestAccResource(t *testing.T) {
name = stackit_argus_scrapeconfig.scrapeconfig.name
}
`,
resourceConfig(instanceResource["name"], scrapeConfigResource["urls"], scrapeConfigResource["saml2_enable_url_parameters"]),
resourceConfig(instanceResource["name"], instanceResource["plan_name"], scrapeConfigResource["urls"], scrapeConfigResource["saml2_enable_url_parameters"]),
),
Check: resource.ComposeAggregateTestCheckFunc(
// Instance data
@ -235,13 +236,13 @@ func TestAccResource(t *testing.T) {
},
// Update
{
Config: resourceConfig(fmt.Sprintf("%s-new", instanceResource["name"]), "", "true"),
Config: resourceConfig(fmt.Sprintf("%s-new", instanceResource["name"]), instanceResource["new_plan_name"], "", "true"),
Check: resource.ComposeAggregateTestCheckFunc(
// Instance
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "project_id", instanceResource["project_id"]),
resource.TestCheckResourceAttrSet("stackit_argus_instance.instance", "instance_id"),
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "name", instanceResource["name"]+"-new"),
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "plan_name", instanceResource["plan_name"]),
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "plan_name", instanceResource["new_plan_name"]),
// Scrape Config
resource.TestCheckResourceAttr("stackit_argus_scrapeconfig.scrapeconfig", "name", scrapeConfigResource["name"]),
@ -282,7 +283,7 @@ func TestAccResource(t *testing.T) {
testutil.ArgusProviderConfig(),
instanceResource["project_id"],
instanceResource["name"],
instanceResource["plan_name"],
instanceResource["new_plan_name"],
scrapeConfigResource["name"],
scrapeConfigResource["urls"],
scrapeConfigResource["scrape_interval"],
@ -294,7 +295,7 @@ func TestAccResource(t *testing.T) {
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "project_id", instanceResource["project_id"]),
resource.TestCheckResourceAttrSet("stackit_argus_instance.instance", "instance_id"),
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "name", instanceResource["name"]),
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "plan_name", instanceResource["plan_name"]),
resource.TestCheckResourceAttr("stackit_argus_instance.instance", "plan_name", instanceResource["new_plan_name"]),
// Scrape Config
resource.TestCheckResourceAttr("stackit_argus_scrapeconfig.scrapeconfig", "name", scrapeConfigResource["name"]),