2018-05-26 02:40:12 +08:00
|
|
|
package syslog
|
|
|
|
|
|
|
|
|
|
import (
|
2018-06-04 10:43:06 +08:00
|
|
|
"path/filepath"
|
2020-11-23 23:40:32 +08:00
|
|
|
"runtime"
|
2018-05-26 02:40:12 +08:00
|
|
|
"strings"
|
|
|
|
|
"testing"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
2020-11-23 23:40:32 +08:00
|
|
|
|
|
|
|
|
"github.com/influxdata/telegraf/testutil"
|
2018-05-26 02:40:12 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
address = ":6514"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var defaultTime = time.Unix(0, 0)
|
|
|
|
|
var maxP = uint8(191)
|
|
|
|
|
var maxV = uint16(999)
|
|
|
|
|
var maxTS = "2017-12-31T23:59:59.999999+00:00"
|
2022-11-11 02:55:58 +08:00
|
|
|
var maxH = "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqr" +
|
|
|
|
|
"stuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc"
|
2018-05-26 02:40:12 +08:00
|
|
|
var maxA = "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef"
|
|
|
|
|
var maxPID = "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab"
|
|
|
|
|
var maxMID = "abcdefghilmnopqrstuvzabcdefghilm"
|
|
|
|
|
var message7681 = strings.Repeat("l", 7681)
|
|
|
|
|
|
|
|
|
|
func TestAddress(t *testing.T) {
|
|
|
|
|
var err error
|
|
|
|
|
var rec *Syslog
|
|
|
|
|
|
|
|
|
|
rec = &Syslog{
|
|
|
|
|
Address: "localhost:6514",
|
|
|
|
|
}
|
|
|
|
|
err = rec.Start(&testutil.Accumulator{})
|
2023-02-23 21:49:36 +08:00
|
|
|
require.EqualError(t, err, `missing protocol within address "localhost:6514"`)
|
2018-05-26 02:40:12 +08:00
|
|
|
require.Error(t, err)
|
|
|
|
|
|
|
|
|
|
rec = &Syslog{
|
|
|
|
|
Address: "unsupported://example.com:6514",
|
|
|
|
|
}
|
|
|
|
|
err = rec.Start(&testutil.Accumulator{})
|
2023-02-23 21:49:36 +08:00
|
|
|
require.EqualError(t, err, `unknown protocol "unsupported" in "example.com:6514"`)
|
2018-05-26 02:40:12 +08:00
|
|
|
require.Error(t, err)
|
|
|
|
|
|
2022-04-19 03:27:59 +08:00
|
|
|
tmpdir := t.TempDir()
|
2018-06-04 10:43:06 +08:00
|
|
|
sock := filepath.Join(tmpdir, "syslog.TestAddress.sock")
|
|
|
|
|
|
2020-11-23 23:40:32 +08:00
|
|
|
if runtime.GOOS != "windows" {
|
|
|
|
|
// Skipping on Windows, as unixgram sockets are not supported
|
|
|
|
|
rec = &Syslog{
|
|
|
|
|
Address: "unixgram://" + sock,
|
|
|
|
|
}
|
|
|
|
|
err = rec.Start(&testutil.Accumulator{})
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
require.Equal(t, sock, rec.Address)
|
|
|
|
|
rec.Stop()
|
2018-05-26 02:40:12 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Default port is 6514
|
|
|
|
|
rec = &Syslog{
|
|
|
|
|
Address: "tcp://localhost",
|
|
|
|
|
}
|
|
|
|
|
err = rec.Start(&testutil.Accumulator{})
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
require.Equal(t, "localhost:6514", rec.Address)
|
|
|
|
|
rec.Stop()
|
|
|
|
|
}
|