github.com/mehmetalisavas/terraform@v0.7.10/command/get_test.go (about) 1 package command 2 3 import ( 4 "os" 5 "strings" 6 "testing" 7 8 "github.com/mitchellh/cli" 9 ) 10 11 func TestGet(t *testing.T) { 12 ui := new(cli.MockUi) 13 c := &GetCommand{ 14 Meta: Meta{ 15 ContextOpts: testCtxConfig(testProvider()), 16 Ui: ui, 17 dataDir: tempDir(t), 18 }, 19 } 20 21 args := []string{ 22 testFixturePath("get"), 23 } 24 if code := c.Run(args); code != 0 { 25 t.Fatalf("bad: \n%s", ui.ErrorWriter.String()) 26 } 27 28 output := ui.OutputWriter.String() 29 if !strings.Contains(output, "Get: file://") { 30 t.Fatalf("doesn't look like get: %s", output) 31 } 32 if strings.Contains(output, "(update)") { 33 t.Fatalf("doesn't look like get: %s", output) 34 } 35 } 36 37 func TestGet_multipleArgs(t *testing.T) { 38 ui := new(cli.MockUi) 39 c := &GetCommand{ 40 Meta: Meta{ 41 ContextOpts: testCtxConfig(testProvider()), 42 Ui: ui, 43 dataDir: tempDir(t), 44 }, 45 } 46 47 args := []string{ 48 "bad", 49 "bad", 50 } 51 if code := c.Run(args); code != 1 { 52 t.Fatalf("bad: \n%s", ui.OutputWriter.String()) 53 } 54 } 55 56 func TestGet_noArgs(t *testing.T) { 57 cwd, err := os.Getwd() 58 if err != nil { 59 t.Fatalf("err: %s", err) 60 } 61 if err := os.Chdir(testFixturePath("get")); err != nil { 62 t.Fatalf("err: %s", err) 63 } 64 defer os.Chdir(cwd) 65 66 ui := new(cli.MockUi) 67 c := &GetCommand{ 68 Meta: Meta{ 69 ContextOpts: testCtxConfig(testProvider()), 70 Ui: ui, 71 dataDir: tempDir(t), 72 }, 73 } 74 75 args := []string{} 76 if code := c.Run(args); code != 0 { 77 t.Fatalf("bad: \n%s", ui.ErrorWriter.String()) 78 } 79 80 output := ui.OutputWriter.String() 81 if !strings.Contains(output, "Get: file://") { 82 t.Fatalf("doesn't look like get: %s", output) 83 } 84 if strings.Contains(output, "(update)") { 85 t.Fatalf("doesn't look like get: %s", output) 86 } 87 } 88 89 func TestGet_update(t *testing.T) { 90 ui := new(cli.MockUi) 91 c := &GetCommand{ 92 Meta: Meta{ 93 ContextOpts: testCtxConfig(testProvider()), 94 Ui: ui, 95 dataDir: tempDir(t), 96 }, 97 } 98 99 args := []string{ 100 "-update", 101 testFixturePath("get"), 102 } 103 if code := c.Run(args); code != 0 { 104 t.Fatalf("bad: \n%s", ui.ErrorWriter.String()) 105 } 106 107 output := ui.OutputWriter.String() 108 if !strings.Contains(output, "Get: file://") { 109 t.Fatalf("doesn't look like get: %s", output) 110 } 111 if !strings.Contains(output, "(update)") { 112 t.Fatalf("doesn't look like get: %s", output) 113 } 114 }