From 8a90bd08a3d73ae3e1276486cdf3b2ed1b1f0a13 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Apr 2015 21:39:56 -0700 Subject: [PATCH] terraform: test negative case for disable provider transformer --- .../child/main.tf | 7 +++ .../transform-provider-disable-keep/main.tf | 9 ++++ terraform/transform_provider_test.go | 54 +++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 terraform/test-fixtures/transform-provider-disable-keep/child/main.tf create mode 100644 terraform/test-fixtures/transform-provider-disable-keep/main.tf diff --git a/terraform/test-fixtures/transform-provider-disable-keep/child/main.tf b/terraform/test-fixtures/transform-provider-disable-keep/child/main.tf new file mode 100644 index 000000000..9d02c162c --- /dev/null +++ b/terraform/test-fixtures/transform-provider-disable-keep/child/main.tf @@ -0,0 +1,7 @@ +variable "value" {} + +provider "aws" { + value = "${var.value}" +} + +resource "aws_instance" "foo" {} diff --git a/terraform/test-fixtures/transform-provider-disable-keep/main.tf b/terraform/test-fixtures/transform-provider-disable-keep/main.tf new file mode 100644 index 000000000..7f9aa3f9f --- /dev/null +++ b/terraform/test-fixtures/transform-provider-disable-keep/main.tf @@ -0,0 +1,9 @@ +variable "foo" {} + +module "child" { + source = "./child" + + value = "${var.foo}" +} + +resource "aws_instance" "foo" {} diff --git a/terraform/transform_provider_test.go b/terraform/transform_provider_test.go index 5979c0a36..d4d753456 100644 --- a/terraform/transform_provider_test.go +++ b/terraform/transform_provider_test.go @@ -138,6 +138,52 @@ func TestDisableProviderTransformer(t *testing.T) { } } +func TestDisableProviderTransformer_keep(t *testing.T) { + mod := testModule(t, "transform-provider-disable-keep") + + g := Graph{Path: RootModulePath} + { + tf := &ConfigTransformer{Module: mod} + if err := tf.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &MissingProviderTransformer{Providers: []string{"aws"}} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &ProviderTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &PruneProviderTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &DisableProviderTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + actual := strings.TrimSpace(g.String()) + expected := strings.TrimSpace(testTransformDisableProviderKeepStr) + if actual != expected { + t.Fatalf("bad:\n\n%s", actual) + } +} + func TestGraphNodeMissingProvider_impl(t *testing.T) { var _ dag.Vertex = new(graphNodeMissingProvider) var _ dag.NamedVertex = new(graphNodeMissingProvider) @@ -172,3 +218,11 @@ provider.foo const testTransformDisableProviderBasicStr = ` module.child ` + +const testTransformDisableProviderKeepStr = ` +aws_instance.foo + provider.aws +module.child + provider.aws +provider.aws +`