github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/provisioner/salt-masterless/provisioner_test.go (about)

     1  package saltmasterless
     2  
     3  import (
     4  	"github.com/mitchellh/packer/packer"
     5  	"os"
     6  	"testing"
     7  )
     8  
     9  func testConfig() map[string]interface{} {
    10  	return map[string]interface{}{
    11  		"local_state_tree": os.TempDir(),
    12  	}
    13  }
    14  
    15  func TestProvisioner_Impl(t *testing.T) {
    16  	var raw interface{}
    17  	raw = &Provisioner{}
    18  	if _, ok := raw.(packer.Provisioner); !ok {
    19  		t.Fatalf("must be a Provisioner")
    20  	}
    21  }
    22  
    23  func TestProvisionerPrepare_Defaults(t *testing.T) {
    24  	var p Provisioner
    25  	config := testConfig()
    26  
    27  	err := p.Prepare(config)
    28  	if err != nil {
    29  		t.Fatalf("err: %s", err)
    30  	}
    31  
    32  	if p.config.TempConfigDir != DefaultTempConfigDir {
    33  		t.Errorf("unexpected temp config dir: %s", p.config.TempConfigDir)
    34  	}
    35  }
    36  
    37  func TestProvisionerPrepare_InvalidKey(t *testing.T) {
    38  	var p Provisioner
    39  	config := testConfig()
    40  
    41  	// Add a random key
    42  	config["i_should_not_be_valid"] = true
    43  	err := p.Prepare(config)
    44  	if err == nil {
    45  		t.Fatal("should have error")
    46  	}
    47  }
    48  
    49  func TestProvisionerPrepare_LocalStateTree(t *testing.T) {
    50  	var p Provisioner
    51  	config := testConfig()
    52  
    53  	config["local_state_tree"] = "/i/dont/exist/i/think"
    54  	err := p.Prepare(config)
    55  	if err == nil {
    56  		t.Fatal("should have error")
    57  	}
    58  
    59  	config["local_state_tree"] = os.TempDir()
    60  	err = p.Prepare(config)
    61  	if err != nil {
    62  		t.Fatalf("err: %s", err)
    63  	}
    64  }