From a5f0c021f2caecf9adfec65583c915b6c04c27a9 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 29 Oct 2021 12:13:55 +0300 Subject: add dserver integration test for scheduled query --- integrationtests/dserver.cfg | 20 +++++++++++ integrationtests/dserver.csv.expected | 2 ++ integrationtests/dserver.csv.query.expected | 1 + integrationtests/dserver_test.go | 53 +++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 integrationtests/dserver.cfg create mode 100644 integrationtests/dserver.csv.expected create mode 100644 integrationtests/dserver.csv.query.expected create mode 100644 integrationtests/dserver_test.go (limited to 'integrationtests') diff --git a/integrationtests/dserver.cfg b/integrationtests/dserver.cfg new file mode 100644 index 0000000..2092b96 --- /dev/null +++ b/integrationtests/dserver.cfg @@ -0,0 +1,20 @@ +{ + "Server": { + "Schedule": [ + { + "Name": "dserver_schedule_test", + "Enable": true, + "AllowFrom": [ + "localhost" + ], + "TimeRange": [ + 0, + 24 + ], + "Files": "./mapr_testdata.log", + "Query": "from STATS select count($line),last($time),avg($goroutines),min(concurrentConnections),max(lifetimeConnections) group by $hostname", + "Outfile": "./dserver.csv" + } + ] + } +} diff --git a/integrationtests/dserver.csv.expected b/integrationtests/dserver.csv.expected new file mode 100644 index 0000000..d4e6f0f --- /dev/null +++ b/integrationtests/dserver.csv.expected @@ -0,0 +1,2 @@ +count($line),last($time),avg($goroutines),min(concurrentconnections),max(lifetimeconnections) +597,20211002-071949,11.628141,0.000000,6.000000 diff --git a/integrationtests/dserver.csv.query.expected b/integrationtests/dserver.csv.query.expected new file mode 100644 index 0000000..b45c588 --- /dev/null +++ b/integrationtests/dserver.csv.query.expected @@ -0,0 +1 @@ +from STATS select count($line),last($time),avg($goroutines),min(concurrentConnections),max(lifetimeConnections) group by $hostname outfile ./dserver.csv \ No newline at end of file diff --git a/integrationtests/dserver_test.go b/integrationtests/dserver_test.go new file mode 100644 index 0000000..0944c79 --- /dev/null +++ b/integrationtests/dserver_test.go @@ -0,0 +1,53 @@ +package integrationtests + +import ( + "context" + "fmt" + "os" + "testing" + + "github.com/mimecast/dtail/internal/config" +) + +func TestDServer(t *testing.T) { + if !config.Env("DTAIL_INTEGRATION_TEST_RUN_MODE") { + t.Log("Skipping") + return + } + + csvFile := "dserver.csv" + expectedCsvFile := "dserver.csv.expected" + queryFile := fmt.Sprintf("%s.query", csvFile) + expectedQueryFile := "dserver.csv.query.expected" + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + stdoutCh, stderrCh, cmdErrCh, err := startCommand(ctx, t, + "../dserver", + "--cfg", "dserver.cfg", + "--logger", "stdout", + "--logLevel", "info", + "--bindAddress", "localhost", + "--shutdownAfter", "5", + "--port", fmt.Sprintf("%d", getUniquePortNumber()), + ) + if err != nil { + t.Error(err) + return + } + + waitForCommand(ctx, t, stdoutCh, stderrCh, cmdErrCh) + + if err := compareFiles(t, csvFile, expectedCsvFile); err != nil { + t.Error(err) + return + } + if err := compareFiles(t, queryFile, expectedQueryFile); err != nil { + t.Error(err) + return + } + + os.Remove(csvFile) + os.Remove(queryFile) +} -- cgit v1.2.3