github.com/leg100/ots@v0.0.7-0.20210919080622-034055ced4bd/delete_backend_config_test.go (about) 1 package ots 2 3 import ( 4 "context" 5 "os" 6 "path/filepath" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestDeleteBackendConfig(t *testing.T) { 14 config := ` 15 terraform { 16 required_providers { 17 aws = { 18 version = ">= 2.7.0" 19 source = "hashicorp/aws" 20 } 21 } 22 backend "remote" { 23 hostname = "app.terraform.io" 24 organization = "automatize" 25 26 workspaces { 27 prefix = "etok-example-" 28 } 29 } 30 required_version = "0.12.5" 31 } 32 ` 33 34 deleted, got, err := deleteBackendConfig([]byte(config)) 35 require.NoError(t, err) 36 assert.True(t, deleted) 37 38 want := ` 39 terraform { 40 required_providers { 41 aws = { 42 version = ">= 2.7.0" 43 source = "hashicorp/aws" 44 } 45 } 46 required_version = "0.12.5" 47 } 48 ` 49 50 assert.Equal(t, want, string(got)) 51 } 52 53 func TestDeleteBackendConfigFromDirectory(t *testing.T) { 54 config := ` 55 terraform { 56 required_providers { 57 aws = { 58 version = ">= 2.7.0" 59 source = "hashicorp/aws" 60 } 61 } 62 backend "remote" { 63 hostname = "app.terraform.io" 64 organization = "automatize" 65 66 workspaces { 67 prefix = "etok-example-" 68 } 69 } 70 required_version = "0.12.5" 71 } 72 ` 73 74 dir := t.TempDir() 75 require.NoError(t, os.WriteFile(filepath.Join(dir, "config.tf"), []byte(config), 0644)) 76 77 assert.NoError(t, deleteBackendConfigFromDirectory(context.Background(), &Executor{Path: dir})) 78 }