60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
package influxdb_v2
 | 
						|
 | 
						|
import (
 | 
						|
	"io"
 | 
						|
	"net/url"
 | 
						|
	"testing"
 | 
						|
 | 
						|
	"github.com/stretchr/testify/require"
 | 
						|
)
 | 
						|
 | 
						|
func genURL(u string) *url.URL {
 | 
						|
	URL, _ := url.Parse(u)
 | 
						|
	return URL
 | 
						|
}
 | 
						|
 | 
						|
func TestMakeWriteURL(t *testing.T) {
 | 
						|
	tests := []struct {
 | 
						|
		err bool
 | 
						|
		url *url.URL
 | 
						|
		act string
 | 
						|
	}{
 | 
						|
		{
 | 
						|
			url: genURL("http://localhost:9999"),
 | 
						|
			act: "http://localhost:9999/api/v2/write?bucket=telegraf&org=influx",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			url: genURL("unix://var/run/influxd.sock"),
 | 
						|
			act: "http://127.0.0.1/api/v2/write?bucket=telegraf&org=influx",
 | 
						|
		},
 | 
						|
		{
 | 
						|
			err: true,
 | 
						|
			url: genURL("udp://localhost:9999"),
 | 
						|
		},
 | 
						|
	}
 | 
						|
 | 
						|
	for i := range tests {
 | 
						|
		rURL, err := makeWriteURL(*tests[i].url, "influx", "telegraf")
 | 
						|
		if !tests[i].err {
 | 
						|
			require.NoError(t, err)
 | 
						|
		} else {
 | 
						|
			require.Error(t, err)
 | 
						|
			t.Log(err)
 | 
						|
		}
 | 
						|
		if err == nil {
 | 
						|
			require.Equal(t, tests[i].act, rURL)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestMakeWriteRequest(t *testing.T) {
 | 
						|
	reader, _ := io.Pipe()
 | 
						|
	cli := httpClient{
 | 
						|
		WriteURL:        "http://localhost:9999/v2/write?bucket=telegraf&org=influx",
 | 
						|
		ContentEncoding: "gzip",
 | 
						|
		Headers:         map[string]string{"x": "y"},
 | 
						|
	}
 | 
						|
	_, err := cli.makeWriteRequest(reader)
 | 
						|
	require.NoError(t, err)
 | 
						|
}
 |