33 lines
890 B
Go
33 lines
890 B
Go
|
package views
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/hashicorp/terraform/command/arguments"
|
||
|
"github.com/hashicorp/terraform/internal/moduletest"
|
||
|
"github.com/hashicorp/terraform/internal/terminal"
|
||
|
)
|
||
|
|
||
|
func TestTest(t *testing.T) {
|
||
|
streams, close := terminal.StreamsForTesting(t)
|
||
|
baseView := NewView(streams)
|
||
|
view := NewTest(baseView, arguments.TestOutput{
|
||
|
JUnitXMLFile: "",
|
||
|
})
|
||
|
|
||
|
results := map[string]*moduletest.Suite{}
|
||
|
view.Results(results)
|
||
|
|
||
|
output := close(t)
|
||
|
gotOutput := strings.TrimSpace(output.All())
|
||
|
wantOutput := `No tests defined. This module doesn't have any test suites to run.`
|
||
|
if gotOutput != wantOutput {
|
||
|
t.Errorf("wrong output\ngot:\n%s\nwant:\n%s", gotOutput, wantOutput)
|
||
|
}
|
||
|
|
||
|
// TODO: Test more at this layer. For now, the main UI output tests for
|
||
|
// the "terraform test" command are in the command package as part of
|
||
|
// the overall command tests.
|
||
|
}
|