diff options
Diffstat (limited to 'integrationtests/dcat_test.go')
| -rw-r--r-- | integrationtests/dcat_test.go | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/integrationtests/dcat_test.go b/integrationtests/dcat_test.go new file mode 100644 index 0000000..2516867 --- /dev/null +++ b/integrationtests/dcat_test.go @@ -0,0 +1,89 @@ +package integrationtests + +import ( + "context" + "os" + "testing" + + "github.com/mimecast/dtail/internal/config" +) + +func TestDCat(t *testing.T) { + if !config.Env("DTAIL_RUN_INTEGRATION_TESTS") { + t.Log("Skipping") + return + } + testdataFile := "dcat.txt" + stdoutFile := "dcat.out" + + _, err := runCommand(context.TODO(), t, stdoutFile, + "../dcat", "--spartan", testdataFile) + + if err != nil { + t.Error(err) + return + } + + if err := compareFiles(t, stdoutFile, testdataFile); err != nil { + t.Error(err) + return + } + + os.Remove(stdoutFile) +} + +func TestDCat2(t *testing.T) { + if !config.Env("DTAIL_RUN_INTEGRATION_TESTS") { + return + } + testdataFile := "dcat2.txt" + expectedFile := "dcat2.txt.expected" + stdoutFile := "dcat2.out" + + args := []string{"--spartan", "--logLevel", "error"} + + // Cat file 100 times in one session. + for i := 0; i < 100; i++ { + args = append(args, testdataFile) + } + + if _, err := runCommand(context.TODO(), t, stdoutFile, "../dcat", args...); err != nil { + t.Error(err) + return + } + + if err := compareFilesContents(t, stdoutFile, expectedFile); err != nil { + t.Error(err) + return + } + + os.Remove(stdoutFile) +} + +/* +// TODO: The test currently fails as there is a hostname in the output. What needs +// to be done is to ignore the hostnames in the output (which is field 2 of the output) +func TestDCatColors(t *testing.T) { + if !config.Env("DTAIL_RUN_INTEGRATION_TESTS") { + return + } + testdataFile := "dcatcolors.txt" + stdoutFile := "dcatcolors.out" + expectedFile := "dcatcolors.expected" + + _, err := runCommand(context.TODO(), t, stdoutFile, + "../dcat", "--logLevel", "error", testdataFile) + + if err != nil { + t.Error(err) + return + } + + if err := compareFiles(t, stdoutFile, expectedFile); err != nil { + t.Error(err) + return + } + + os.Remove(stdoutFile) +} +*/ |
