github.com/hernad/nomad@v1.6.112/command/agent/syslog_test.go (about)

     1  // Copyright (c) HashiCorp, Inc.
     2  // SPDX-License-Identifier: MPL-2.0
     3  
     4  package agent
     5  
     6  import (
     7  	"os"
     8  	"runtime"
     9  	"testing"
    10  
    11  	gsyslog "github.com/hashicorp/go-syslog"
    12  	"github.com/hashicorp/logutils"
    13  	"github.com/hernad/nomad/ci"
    14  )
    15  
    16  func TestSyslogFilter(t *testing.T) {
    17  	ci.Parallel(t)
    18  	if runtime.GOOS == "windows" {
    19  		t.Skip("Syslog not supported on Windows")
    20  	}
    21  	if os.Getenv("TRAVIS") == "true" {
    22  		t.Skip("Syslog not supported on travis-ci")
    23  	}
    24  
    25  	l, err := gsyslog.NewLogger(gsyslog.LOG_NOTICE, "LOCAL0", "consul")
    26  	if err != nil {
    27  		t.Fatalf("err: %s", err)
    28  	}
    29  
    30  	filt := LevelFilter()
    31  	filt.MinLevel = logutils.LogLevel("INFO")
    32  
    33  	s := &SyslogWrapper{l, filt}
    34  	n, err := s.Write([]byte("[INFO] test"))
    35  	if err != nil {
    36  		t.Fatalf("err: %s", err)
    37  	}
    38  	if n == 0 {
    39  		t.Fatalf("should have logged")
    40  	}
    41  
    42  	n, err = s.Write([]byte("[DEBUG] test"))
    43  	if err != nil {
    44  		t.Fatalf("err: %s", err)
    45  	}
    46  	if n != 0 {
    47  		t.Fatalf("should not have logged")
    48  	}
    49  }