github.com/vtorhonen/terraform@v0.9.0-beta2.0.20170307220345-5d894e4ffda7/terraform/eval_provisioner_test.go (about) 1 package terraform 2 3 import ( 4 "testing" 5 ) 6 7 func TestEvalInitProvisioner_impl(t *testing.T) { 8 var _ EvalNode = new(EvalInitProvisioner) 9 } 10 11 func TestEvalInitProvisioner(t *testing.T) { 12 n := &EvalInitProvisioner{Name: "foo"} 13 provisioner := &MockResourceProvisioner{} 14 ctx := &MockEvalContext{InitProvisionerProvisioner: provisioner} 15 if _, err := n.Eval(ctx); err != nil { 16 t.Fatalf("err: %s", err) 17 } 18 19 if !ctx.InitProvisionerCalled { 20 t.Fatal("should be called") 21 } 22 if ctx.InitProvisionerName != "foo" { 23 t.Fatalf("bad: %#v", ctx.InitProvisionerName) 24 } 25 } 26 27 func TestEvalCloseProvisioner(t *testing.T) { 28 n := &EvalCloseProvisioner{Name: "foo"} 29 provisioner := &MockResourceProvisioner{} 30 ctx := &MockEvalContext{CloseProvisionerProvisioner: provisioner} 31 if _, err := n.Eval(ctx); err != nil { 32 t.Fatalf("err: %s", err) 33 } 34 35 if !ctx.CloseProvisionerCalled { 36 t.Fatal("should be called") 37 } 38 if ctx.CloseProvisionerName != "foo" { 39 t.Fatalf("bad: %#v", ctx.CloseProvisionerName) 40 } 41 } 42 43 func TestEvalGetProvisioner_impl(t *testing.T) { 44 var _ EvalNode = new(EvalGetProvisioner) 45 } 46 47 func TestEvalGetProvisioner(t *testing.T) { 48 var actual ResourceProvisioner 49 n := &EvalGetProvisioner{Name: "foo", Output: &actual} 50 provisioner := &MockResourceProvisioner{} 51 ctx := &MockEvalContext{ProvisionerProvisioner: provisioner} 52 if _, err := n.Eval(ctx); err != nil { 53 t.Fatalf("err: %s", err) 54 } 55 if actual != provisioner { 56 t.Fatalf("bad: %#v", actual) 57 } 58 59 if !ctx.ProvisionerCalled { 60 t.Fatal("should be called") 61 } 62 if ctx.ProvisionerName != "foo" { 63 t.Fatalf("bad: %#v", ctx.ProvisionerName) 64 } 65 }