summaryrefslogtreecommitdiff
path: root/integrationtests/dcat_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'integrationtests/dcat_test.go')
-rw-r--r--integrationtests/dcat_test.go89
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)
+}
+*/