github.com/crowdsecurity/crowdsec@v1.6.1/cmd/crowdsec-cli/lapi_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 9 "github.com/crowdsecurity/crowdsec/pkg/csconfig" 10 ) 11 12 func TestPrepareAPIURL_NoProtocol(t *testing.T) { 13 url, err := prepareAPIURL(nil, "localhost:81") 14 require.NoError(t, err) 15 assert.Equal(t, "http://localhost:81/", url.String()) 16 } 17 18 func TestPrepareAPIURL_Http(t *testing.T) { 19 url, err := prepareAPIURL(nil, "http://localhost:81") 20 require.NoError(t, err) 21 assert.Equal(t, "http://localhost:81/", url.String()) 22 } 23 24 func TestPrepareAPIURL_Https(t *testing.T) { 25 url, err := prepareAPIURL(nil, "https://localhost:81") 26 require.NoError(t, err) 27 assert.Equal(t, "https://localhost:81/", url.String()) 28 } 29 30 func TestPrepareAPIURL_UnixSocket(t *testing.T) { 31 url, err := prepareAPIURL(nil, "/path/socket") 32 require.NoError(t, err) 33 assert.Equal(t, "/path/socket/", url.String()) 34 } 35 36 func TestPrepareAPIURL_Empty(t *testing.T) { 37 _, err := prepareAPIURL(nil, "") 38 require.Error(t, err) 39 } 40 41 func TestPrepareAPIURL_Empty_ConfigOverride(t *testing.T) { 42 url, err := prepareAPIURL(&csconfig.LocalApiClientCfg{ 43 Credentials: &csconfig.ApiCredentialsCfg{ 44 URL: "localhost:80", 45 }, 46 }, "") 47 require.NoError(t, err) 48 assert.Equal(t, "http://localhost:80/", url.String()) 49 }