github.com/kobeld/docker@v1.12.0-rc1/daemon/logger/syslog/syslog_test.go (about)

     1  // +build linux
     2  
     3  package syslog
     4  
     5  import (
     6  	syslog "github.com/RackSec/srslog"
     7  	"reflect"
     8  	"testing"
     9  )
    10  
    11  func functionMatches(expectedFun interface{}, actualFun interface{}) bool {
    12  	return reflect.ValueOf(expectedFun).Pointer() == reflect.ValueOf(actualFun).Pointer()
    13  }
    14  
    15  func TestParseLogFormat(t *testing.T) {
    16  	formatter, framer, err := parseLogFormat("rfc5424")
    17  	if err != nil || !functionMatches(rfc5424formatterWithAppNameAsTag, formatter) ||
    18  		!functionMatches(syslog.RFC5425MessageLengthFramer, framer) {
    19  		t.Fatal("Failed to parse rfc5424 format", err, formatter, framer)
    20  	}
    21  
    22  	formatter, framer, err = parseLogFormat("rfc5424micro")
    23  	if err != nil || !functionMatches(rfc5424microformatterWithAppNameAsTag, formatter) ||
    24  		!functionMatches(syslog.RFC5425MessageLengthFramer, framer) {
    25  		t.Fatal("Failed to parse rfc5424 (microsecond) format", err, formatter, framer)
    26  	}
    27  
    28  	formatter, framer, err = parseLogFormat("rfc3164")
    29  	if err != nil || !functionMatches(syslog.RFC3164Formatter, formatter) ||
    30  		!functionMatches(syslog.DefaultFramer, framer) {
    31  		t.Fatal("Failed to parse rfc3164 format", err, formatter, framer)
    32  	}
    33  
    34  	formatter, framer, err = parseLogFormat("")
    35  	if err != nil || !functionMatches(syslog.UnixFormatter, formatter) ||
    36  		!functionMatches(syslog.DefaultFramer, framer) {
    37  		t.Fatal("Failed to parse empty format", err, formatter, framer)
    38  	}
    39  
    40  	formatter, framer, err = parseLogFormat("invalid")
    41  	if err == nil {
    42  		t.Fatal("Failed to parse invalid format", err, formatter, framer)
    43  	}
    44  }
    45  
    46  func TestValidateLogOptEmpty(t *testing.T) {
    47  	emptyConfig := make(map[string]string)
    48  	if err := ValidateLogOpt(emptyConfig); err != nil {
    49  		t.Fatal("Failed to parse empty config", err)
    50  	}
    51  }