graph should not panic with no config
The backends replace a nil module tree with an empty one before building the graph, so the graph command needs to do the same.
This commit is contained in:
parent
50f412bff4
commit
f10163ecc7
|
@ -88,6 +88,12 @@ func (c *GraphCommand) Run(args []string) int {
|
||||||
return 1
|
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
|
// Build the operation
|
||||||
opReq := c.Operation()
|
opReq := c.Operation()
|
||||||
opReq.Module = mod
|
opReq.Module = mod
|
||||||
|
|
|
@ -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) {
|
func TestGraph_plan(t *testing.T) {
|
||||||
tmp, cwd := testCwd(t)
|
tmp, cwd := testCwd(t)
|
||||||
defer testFixCwd(t, tmp, cwd)
|
defer testFixCwd(t, tmp, cwd)
|
||||||
|
|
Loading…
Reference in New Issue