github.com/ndarilek/terraform@v0.3.8-0.20150320140257-d3135c1b2bac/helper/ssh/provisioner_test.go (about) 1 package ssh 2 3 import ( 4 "testing" 5 6 "github.com/hashicorp/terraform/terraform" 7 ) 8 9 func TestResourceProvider_verifySSH(t *testing.T) { 10 r := &terraform.InstanceState{ 11 Ephemeral: terraform.EphemeralState{ 12 ConnInfo: map[string]string{ 13 "type": "telnet", 14 }, 15 }, 16 } 17 if err := VerifySSH(r); err == nil { 18 t.Fatalf("expected error with telnet") 19 } 20 r.Ephemeral.ConnInfo["type"] = "ssh" 21 if err := VerifySSH(r); err != nil { 22 t.Fatalf("err: %v", err) 23 } 24 } 25 26 func TestResourceProvider_sshConfig(t *testing.T) { 27 r := &terraform.InstanceState{ 28 Ephemeral: terraform.EphemeralState{ 29 ConnInfo: map[string]string{ 30 "type": "ssh", 31 "user": "root", 32 "password": "supersecret", 33 "key_file": "/my/key/file.pem", 34 "host": "127.0.0.1", 35 "port": "22", 36 "timeout": "30s", 37 }, 38 }, 39 } 40 41 conf, err := ParseSSHConfig(r) 42 if err != nil { 43 t.Fatalf("err: %v", err) 44 } 45 46 if conf.User != "root" { 47 t.Fatalf("bad: %v", conf) 48 } 49 if conf.Password != "supersecret" { 50 t.Fatalf("bad: %v", conf) 51 } 52 if conf.KeyFile != "/my/key/file.pem" { 53 t.Fatalf("bad: %v", conf) 54 } 55 if conf.Host != "127.0.0.1" { 56 t.Fatalf("bad: %v", conf) 57 } 58 if conf.Port != 22 { 59 t.Fatalf("bad: %v", conf) 60 } 61 if conf.Timeout != "30s" { 62 t.Fatalf("bad: %v", conf) 63 } 64 if conf.ScriptPath != DefaultScriptPath { 65 t.Fatalf("bad: %v", conf) 66 } 67 }