69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
| package syslog
 | |
| 
 | |
| import (
 | |
| 	"io/ioutil"
 | |
| 	"os"
 | |
| 	"path/filepath"
 | |
| 	"strings"
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/influxdata/telegraf/testutil"
 | |
| 	"github.com/stretchr/testify/require"
 | |
| )
 | |
| 
 | |
| 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"
 | |
| var maxH = "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc"
 | |
| 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{})
 | |
| 	require.EqualError(t, err, "missing protocol within address 'localhost:6514'")
 | |
| 	require.Error(t, err)
 | |
| 
 | |
| 	rec = &Syslog{
 | |
| 		Address: "unsupported://example.com:6514",
 | |
| 	}
 | |
| 	err = rec.Start(&testutil.Accumulator{})
 | |
| 	require.EqualError(t, err, "unknown protocol 'unsupported' in 'example.com:6514'")
 | |
| 	require.Error(t, err)
 | |
| 
 | |
| 	tmpdir, err := ioutil.TempDir("", "telegraf")
 | |
| 	defer os.RemoveAll(tmpdir)
 | |
| 	require.NoError(t, err)
 | |
| 	sock := filepath.Join(tmpdir, "syslog.TestAddress.sock")
 | |
| 
 | |
| 	rec = &Syslog{
 | |
| 		Address: "unixgram://" + sock,
 | |
| 	}
 | |
| 	err = rec.Start(&testutil.Accumulator{})
 | |
| 	require.NoError(t, err)
 | |
| 	require.Equal(t, sock, rec.Address)
 | |
| 	rec.Stop()
 | |
| 
 | |
| 	// 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()
 | |
| }
 |