github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/post-processor/vagrant/post-processor_test.go (about)

     1  package vagrant
     2  
     3  import (
     4  	"github.com/mitchellh/packer/packer"
     5  	"testing"
     6  )
     7  
     8  func testConfig() map[string]interface{} {
     9  	return map[string]interface{}{}
    10  }
    11  
    12  func TestPostProcessor_ImplementsPostProcessor(t *testing.T) {
    13  	var raw interface{}
    14  	raw = &PostProcessor{}
    15  	if _, ok := raw.(packer.PostProcessor); !ok {
    16  		t.Fatalf("AWS PostProcessor should be a PostProcessor")
    17  	}
    18  }
    19  
    20  func TestBuilderPrepare_OutputPath(t *testing.T) {
    21  	var p PostProcessor
    22  
    23  	// Default
    24  	c := testConfig()
    25  	delete(c, "output")
    26  	err := p.Configure(c)
    27  	if err != nil {
    28  		t.Fatalf("err: %s", err)
    29  	}
    30  
    31  	// Bad template
    32  	c["output"] = "bad {{{{.Template}}}}"
    33  	err = p.Configure(c)
    34  	if err == nil {
    35  		t.Fatal("should have error")
    36  	}
    37  }
    38  
    39  func TestBuilderPrepare_PPConfig(t *testing.T) {
    40  	var p PostProcessor
    41  
    42  	// Default
    43  	c := testConfig()
    44  	c["aws"] = map[string]interface{}{}
    45  	err := p.Configure(c)
    46  	if err != nil {
    47  		t.Fatalf("err: %s", err)
    48  	}
    49  }