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 }