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  }