github.com/rothwerx/packer@v0.9.0/builder/openstack/run_config_test.go (about)

     1  package openstack
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/mitchellh/packer/helper/communicator"
     8  )
     9  
    10  func init() {
    11  	// Clear out the openstack env vars so they don't
    12  	// affect our tests.
    13  	os.Setenv("SDK_USERNAME", "")
    14  	os.Setenv("SDK_PASSWORD", "")
    15  	os.Setenv("SDK_PROVIDER", "")
    16  }
    17  
    18  func testRunConfig() *RunConfig {
    19  	return &RunConfig{
    20  		SourceImage: "abcd",
    21  		Flavor:      "m1.small",
    22  
    23  		Comm: communicator.Config{
    24  			SSHUsername: "foo",
    25  		},
    26  	}
    27  }
    28  
    29  func TestRunConfigPrepare(t *testing.T) {
    30  	c := testRunConfig()
    31  	err := c.Prepare(nil)
    32  	if len(err) > 0 {
    33  		t.Fatalf("err: %s", err)
    34  	}
    35  }
    36  
    37  func TestRunConfigPrepare_InstanceType(t *testing.T) {
    38  	c := testRunConfig()
    39  	c.Flavor = ""
    40  	if err := c.Prepare(nil); len(err) != 1 {
    41  		t.Fatalf("err: %s", err)
    42  	}
    43  }
    44  
    45  func TestRunConfigPrepare_SourceImage(t *testing.T) {
    46  	c := testRunConfig()
    47  	c.SourceImage = ""
    48  	if err := c.Prepare(nil); len(err) != 1 {
    49  		t.Fatalf("err: %s", err)
    50  	}
    51  }
    52  
    53  func TestRunConfigPrepare_SSHPort(t *testing.T) {
    54  	c := testRunConfig()
    55  	c.Comm.SSHPort = 0
    56  	if err := c.Prepare(nil); len(err) != 0 {
    57  		t.Fatalf("err: %s", err)
    58  	}
    59  
    60  	if c.Comm.SSHPort != 22 {
    61  		t.Fatalf("invalid value: %d", c.Comm.SSHPort)
    62  	}
    63  
    64  	c.Comm.SSHPort = 44
    65  	if err := c.Prepare(nil); len(err) != 0 {
    66  		t.Fatalf("err: %s", err)
    67  	}
    68  
    69  	if c.Comm.SSHPort != 44 {
    70  		t.Fatalf("invalid value: %d", c.Comm.SSHPort)
    71  	}
    72  }
    73  
    74  func TestRunConfigPrepare_SSHUsername(t *testing.T) {
    75  	c := testRunConfig()
    76  	c.Comm.SSHUsername = ""
    77  	if err := c.Prepare(nil); len(err) != 0 {
    78  		t.Fatalf("err: %s", err)
    79  	}
    80  }