Merge pull request #1363 from snyk/debug/acc_test_state_reader

chore: fix failed ACC tests
main
Elie 2022-02-28 19:26:34 +01:00 committed by GitHub
commit 39dae70e51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 9 deletions

View File

@ -82,6 +82,9 @@ func (s *AzureRMEnumerator) Enumerate() ([]string, error) {
}
if err := pager.Err(); err != nil {
if storageErr, ok := err.(azblob.ResponseError); ok && storageErr.RawResponse() != nil {
return nil, errors.WithMessage(err, storageErr.RawResponse().Status)
}
return nil, err
}

View File

@ -3,6 +3,7 @@ package state_test
import (
"fmt"
"testing"
"time"
"github.com/aws/aws-sdk-go/service/s3"
"github.com/snyk/driftctl/test"
@ -20,7 +21,7 @@ func TestAcc_StateReader_WithMultipleStatesInDirectory(t *testing.T) {
Args: []string{
"scan",
"--from", "tfstate://testdata/acc/multiple_states_local/states",
"--filter", "Type=='aws_s3_bucket' || Type=='aws_route53_zone'",
"--filter", "(Type=='aws_s3_bucket' && Id != 'aws-cloudtrail-logs-994475276861-f6865496') || Type=='aws_route53_zone'",
},
Checks: []acceptance.AccCheck{
{
@ -39,7 +40,12 @@ func TestAcc_StateReader_WithMultipleStatesInDirectory(t *testing.T) {
}
func TestAcc_StateReader_WithMultiplesStatesInS3(t *testing.T) {
stateBucketName := "driftctl-acc-test-only"
// Disabled since this test is not working
// terraform_state_reader_acc_test.go:49: OperationAborted: A conflicting conditional operation is currently in progress against this resource. Please try again.
// status code: 409, request id: 1TJZX1RZYDZB38CG, host id: laXYB6Z6UXuLXDYYRCXpQOgfSl/PsDGpJFmXpIiDibK17Pd8y4H5aAhyuWd35aqHhnDzyyxj0HE=
// see https://app.circleci.com/pipelines/github/snyk/driftctl/4279/workflows/360983a0-3253-45b0-8c78-daec16ba73ae/jobs/9402
t.Skip()
stateBucketName := "driftctl-acc-statereader-multiples-states"
acceptance.Run(t, acceptance.AccTestCase{
TerraformVersion: "0.14.9",
OnStart: func() {
@ -47,12 +53,13 @@ func TestAcc_StateReader_WithMultiplesStatesInS3(t *testing.T) {
if err != nil {
t.Fatal(err)
}
time.Sleep(30 * time.Second)
},
Paths: []string{"./testdata/acc/multiples_states/s3", "./testdata/acc/multiples_states/route53"},
Paths: []string{"./testdata/acc/multiple_states/s3", "./testdata/acc/multiple_states/route53"},
Args: []string{
"scan",
"--from", fmt.Sprintf("tfstate+s3://%s/states", stateBucketName),
"--filter", "Type=='aws_s3_bucket' || Type=='aws_route53_zone'",
"--filter", "(Type=='aws_s3_bucket' && Id != 'aws-cloudtrail-logs-994475276861-f6865496') || Type=='aws_route53_zone'",
},
Checks: []acceptance.AccCheck{
{
@ -62,7 +69,7 @@ func TestAcc_StateReader_WithMultiplesStatesInS3(t *testing.T) {
}
result.AssertUnmanagedCount(1)
result.AssertDeletedCount(0)
result.AssertResourceUnmanaged("driftctl-acc-test-only", "aws_s3_bucket")
result.AssertResourceUnmanaged(stateBucketName, "aws_s3_bucket")
result.AssertManagedCount(2)
result.Equal("aws_route53_zone", result.Managed()[0].ResourceType())
result.Equal("aws_s3_bucket", result.Managed()[1].ResourceType())

View File

@ -56,7 +56,10 @@ func TestAcc_StateReader_WithMultiplesStatesInAzure(t *testing.T) {
TerraformVersion: "0.15.5",
OnStart: func() {
// Remove existing storage account if it already exists
_ = removeAzureStorageAccount(resourceGroupName, storageAccount)
err := removeAzureStorageAccount(resourceGroupName, storageAccount)
if err != nil {
t.Fatal(err)
}
key, err := createAzureStorageContainer(resourceGroupName, storageAccount, containerName)
if err != nil {
t.Fatal(err)

View File

@ -10,7 +10,7 @@ terraform {
}
backend "s3" {
bucket = "driftctl-acc-test-only"
bucket = "driftctl-acc-statereader-multiples-states"
key = "states/route53/state1"
region = "us-east-1"
}

View File

@ -10,7 +10,7 @@ terraform {
}
backend "s3" {
bucket = "driftctl-acc-test-only"
bucket = "driftctl-acc-statereader-multiples-states"
key = "states/s3/state1"
region = "us-east-1"
}

View File

@ -406,7 +406,6 @@ func Run(t *testing.T, c AccTestCase) {
}
for _, check := range c.Checks {
driftctlCmd := cmd.NewDriftctlCmd(test.Build{})
if check.Check == nil {
t.Fatal("Check attribute must be defined")
}
@ -437,6 +436,7 @@ func Run(t *testing.T, c AccTestCase) {
}
}
logrus.WithField("args", fmt.Sprintf("%+v", os.Args)).Debug("Running driftctl")
driftctlCmd := cmd.NewDriftctlCmd(test.Build{})
_, out, cmdErr := runDriftCtlCmd(driftctlCmd)
result := c.getResult(t)
var retryCount uint8 = 0