github.com/StackPointCloud/packer@v0.10.2-0.20180716202532-b28098e0f79b/builder/openstack/run_config_test.go (about) 1 package openstack 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/hashicorp/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 }