github.com/anuaimi/terraform@v0.6.4-0.20150904235404-2bf9aec61da8/config/module/get_hg_test.go (about) 1 package module 2 3 import ( 4 "os" 5 "os/exec" 6 "path/filepath" 7 "testing" 8 ) 9 10 var testHasHg bool 11 12 func init() { 13 if _, err := exec.LookPath("hg"); err == nil { 14 testHasHg = true 15 } 16 } 17 18 func TestHgGetter_impl(t *testing.T) { 19 var _ Getter = new(HgGetter) 20 } 21 22 func TestHgGetter(t *testing.T) { 23 t.Parallel() 24 25 if !testHasHg { 26 t.Log("hg not found, skipping") 27 t.Skip() 28 } 29 30 g := new(HgGetter) 31 dst := tempDir(t) 32 33 // With a dir that doesn't exist 34 if err := g.Get(dst, testModuleURL("basic-hg")); err != nil { 35 t.Fatalf("err: %s", err) 36 } 37 38 // Verify the main file exists 39 mainPath := filepath.Join(dst, "main.tf") 40 if _, err := os.Stat(mainPath); err != nil { 41 t.Fatalf("err: %s", err) 42 } 43 } 44 45 func TestHgGetter_branch(t *testing.T) { 46 t.Parallel() 47 48 if !testHasHg { 49 t.Log("hg not found, skipping") 50 t.Skip() 51 } 52 53 g := new(HgGetter) 54 dst := tempDir(t) 55 56 url := testModuleURL("basic-hg") 57 q := url.Query() 58 q.Add("rev", "test-branch") 59 url.RawQuery = q.Encode() 60 61 if err := g.Get(dst, url); err != nil { 62 t.Fatalf("err: %s", err) 63 } 64 65 // Verify the main file exists 66 mainPath := filepath.Join(dst, "main_branch.tf") 67 if _, err := os.Stat(mainPath); err != nil { 68 t.Fatalf("err: %s", err) 69 } 70 71 // Get again should work 72 if err := g.Get(dst, url); err != nil { 73 t.Fatalf("err: %s", err) 74 } 75 76 // Verify the main file exists 77 mainPath = filepath.Join(dst, "main_branch.tf") 78 if _, err := os.Stat(mainPath); err != nil { 79 t.Fatalf("err: %s", err) 80 } 81 }