From 5bfa6ce2b87ba2ea5db5b92fbaa9a66bf9330ab0 Mon Sep 17 00:00:00 2001 From: Mark Peek Date: Fri, 23 Oct 2015 18:33:51 -0700 Subject: [PATCH] post-processor/vagrant: add artifact id tests for AWS and DO --- post-processor/vagrant/aws_test.go | 20 +++++++++++++ post-processor/vagrant/digitalocean_test.go | 32 +++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/post-processor/vagrant/aws_test.go b/post-processor/vagrant/aws_test.go index b1d44b7e0..7754a48ec 100644 --- a/post-processor/vagrant/aws_test.go +++ b/post-processor/vagrant/aws_test.go @@ -1,7 +1,10 @@ package vagrant import ( + "strings" "testing" + + "github.com/mitchellh/packer/packer" ) func TestAWSProvider_impl(t *testing.T) { @@ -15,3 +18,20 @@ func TestAWSProvider_KeepInputArtifact(t *testing.T) { t.Fatal("should keep input artifact") } } + +func TestAWSProvider_ArtifactId(t *testing.T) { + p := new(AWSProvider) + ui := testUi() + artifact := &packer.MockArtifact{ + IdValue: "us-east-1:ami-1234", + } + + vagrantfile, _, err := p.Process(ui, artifact, "foo") + if err != nil { + t.Fatalf("should not have error: %s", err) + } + result := `aws.region_config "us-east-1", ami: "ami-1234"` + if strings.Index(vagrantfile, result) == -1 { + t.Fatalf("wrong substitution: %s", vagrantfile) + } +} diff --git a/post-processor/vagrant/digitalocean_test.go b/post-processor/vagrant/digitalocean_test.go index 09ca6fdf4..964877c75 100644 --- a/post-processor/vagrant/digitalocean_test.go +++ b/post-processor/vagrant/digitalocean_test.go @@ -1,9 +1,41 @@ package vagrant import ( + "strings" "testing" + + "github.com/mitchellh/packer/packer" ) func TestDigitalOceanProvider_impl(t *testing.T) { var _ Provider = new(DigitalOceanProvider) } + +func TestDigitalOceanProvider_KeepInputArtifact(t *testing.T) { + p := new(DigitalOceanProvider) + + if !p.KeepInputArtifact() { + t.Fatal("should keep input artifact") + } +} + +func TestDigitalOceanProvider_ArtifactId(t *testing.T) { + p := new(DigitalOceanProvider) + ui := testUi() + artifact := &packer.MockArtifact{ + IdValue: "San Francisco:42", + } + + vagrantfile, _, err := p.Process(ui, artifact, "foo") + if err != nil { + t.Fatalf("should not have error: %s", err) + } + image := `digital_ocean.image = "42"` + if strings.Index(vagrantfile, image) == -1 { + t.Fatalf("wrong image substitution: %s", vagrantfile) + } + region := `digital_ocean.region = "San Francisco"` + if strings.Index(vagrantfile, region) == -1 { + t.Fatalf("wrong region substitution: %s", vagrantfile) + } +}