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  }