Merge pull request #15588 from hashicorp/jbardin/no-graph-config

graph should not panic with no config
This commit is contained in:
James Bardin 2017-07-18 13:10:00 -04:00 committed by GitHub
commit eb02467298
2 changed files with 28 additions and 0 deletions

View File

@ -88,6 +88,12 @@ func (c *GraphCommand) Run(args []string) int {
return 1
}
// Building a graph may require config module to be present, even if it's
// empty.
if mod == nil && plan == nil {
mod = module.NewEmptyTree()
}
// Build the operation
opReq := c.Operation()
opReq.Module = mod

View File

@ -81,6 +81,28 @@ func TestGraph_noArgs(t *testing.T) {
}
}
func TestGraph_noConfig(t *testing.T) {
td := tempDir(t)
os.MkdirAll(td, 0755)
defer os.RemoveAll(td)
defer testChdir(t, td)()
ui := new(cli.MockUi)
c := &GraphCommand{
Meta: Meta{
testingOverrides: metaOverridesForProvider(testProvider()),
Ui: ui,
},
}
// Running the graph command without a config should not panic,
// but this may be an error at some point in the future.
args := []string{"-type", "apply"}
if code := c.Run(args); code != 0 {
t.Fatalf("bad: \n%s", ui.ErrorWriter.String())
}
}
func TestGraph_plan(t *testing.T) {
tmp, cwd := testCwd(t)
defer testFixCwd(t, tmp, cwd)