Skip to content

Commit

Permalink
test: add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jansimonb committed Feb 26, 2025
1 parent 759af13 commit 7fd60fd
Show file tree
Hide file tree
Showing 3 changed files with 118 additions and 0 deletions.
74 changes: 74 additions & 0 deletions influxdb3/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
"net/http/httptest"
"net/url"
"os"
"path/filepath"
"strings"
"testing"

Expand Down Expand Up @@ -88,6 +89,79 @@ func TestNew(t *testing.T) {
assert.EqualValues(t, DefaultWriteOptions, *c.config.WriteOptions)
}

func TestNewWithCertificates(t *testing.T) {
// Valid certificates.
certFilePath := filepath.Join("testdata", "valid_certs.pem")
c, err := New(ClientConfig{
Host: "https://localhost:8086",
Token: "my-token",
SSLRootsFilePath: certFilePath,
})
require.NoError(t, err)
assert.NotNil(t, c)
assert.Equal(t, certFilePath, c.config.SSLRootsFilePath)

// Invalid certificates.
certFilePath = filepath.Join("testdata", "invalid_certs.pem")
c, err = New(ClientConfig{
Host: "https://localhost:8086",
Token: "my-token",
SSLRootsFilePath: certFilePath,
})
require.NoError(t, err)
assert.NotNil(t, c)
assert.Equal(t, certFilePath, c.config.SSLRootsFilePath)

// Missing certificates file.
certFilePath = filepath.Join("testdata", "non-existing-file")
c, err = New(ClientConfig{
Host: "https://localhost:8086",
Token: "my-token",
SSLRootsFilePath: certFilePath,
})
assert.Nil(t, c)
require.Error(t, err)
assert.ErrorContains(t, err, "error reading testdata/non-existing-file")
}

func TestNewWithProxy(t *testing.T) {
defer func() {
// Cleanup: unset proxy.
os.Unsetenv("HTTPS_PROXY")
}()

// Invalid proxy url.
c, err := New(ClientConfig{
Host: "http://localhost:8086",
Token: "my-token",
Proxy: "http://proxy:invalid-port",
})
assert.Nil(t, c)
require.Error(t, err)
assert.ErrorContains(t, err, "parsing proxy URL")

// Valid proxy url.
c, err = New(ClientConfig{
Host: "http://localhost:8086",
Token: "my-token",
Proxy: "http://proxy:8888",
})
require.NoError(t, err)
assert.NotNil(t, c)
assert.Equal(t, "http://proxy:8888", c.config.Proxy)

// Valid proxy url with HTTPS_PROXY env already set.
t.Setenv("HTTPS_PROXY", "http://another-proxy:8888")
c, err = New(ClientConfig{
Host: "http://localhost:8086",
Token: "my-token",
Proxy: "http://proxy:8888",
})
require.NoError(t, err)
assert.NotNil(t, c)
assert.Equal(t, "http://proxy:8888", c.config.Proxy)
}

func TestURLs(t *testing.T) {
urls := []struct {
HostURL string
Expand Down
3 changes: 3 additions & 0 deletions influxdb3/testdata/invalid_certs.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-----BEGIN CERTIFICATE-----
invalid cert for testing
-----END CERTIFICATE-----
41 changes: 41 additions & 0 deletions influxdb3/testdata/valid_certs.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
-----BEGIN CERTIFICATE-----
MIIDOTCCAiGgAwIBAgIUds3ngsz1wADSjtgHjJeAHEXrdtEwDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMjYwODU2MTZaFw0zNTAy
MjQwODU2MTZaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCEaJeyvvMZZ4bKdjERQor15UqejebevWJYp99Qp7qW
pggQs1h/i79mSZZ+Tsx8e3FrHQY5dAWCURXHan/Eda9mLTupzwCvHs0bYdTyo2en
CV6vszCyVqKJKWrsauwjNQ53f5XxJivvN5p19JzNYhE6SDzK3adNMhAVdeFm9Nl5
Tt8/Kdc9Dxi4i57xmW1u0HnBx6dCuM/umwoqPWhDc4meiAual0/QRhxBvNp5JaBt
dinjPlFZHTSdM9Bb1iDYxXiFngprEPa5T0I50afEcSxCbdQ9pB9GrDcQlZCusKAL
3dGzktrZVrvpWGVpuE17ZbdXgV3jIivscxL3lJPrRI+lAgMBAAGjITAfMB0GA1Ud
DgQWBBTFaNfvzmp2+fu+twUYwxcDmsxNxjANBgkqhkiG9w0BAQsFAAOCAQEAGQtb
aDgMY4Zp0of5baIv4gV5TxBxOOZAlbBiRq5oKvNoR/k9+JtIaebPvq8pAl3mx1xq
Ie9OefoVSoiVFUvPH6/7NrQPaK4wTBrW7jjJtsbi4aqgfmrXvhBvomtKKiBHtX+/
Sw6Z45OTCrFKp3c/KQLIFFEO2bkzXuP0bpYn+sWNUVxkjJwHTHuFe2DWE8xip5CJ
nk/SLK4DJMzQMF1KKvJpODnXZ38nHiqwPVf1IgeJpger+9e7H942Nx24QTn44Ugv
eo7pOm9mEf6N8ffjnsG1kXi3NTAGOgG08x9Od9g4Ko4AANpdNtW8fJUdDSmkJy71
ekdLtYTJomjJi4RKAw==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIDOTCCAiGgAwIBAgIUJTjRsy12uoFYBDIe0finxvca0dowDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMjYwODU4NDRaFw0zNTAy
MjQwODU4NDRaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDPozDfuIx0LcBteLmfwGSHX46no1ZvJXmexmeJeNr2
q7wmjMxqQXuGnZgqV2ihNrN4nlqxHucOYbcSL5XpBWrhpZnyMLb0xGELz9O5q0X6
V7WxDt+6kK2H+5BltqCEwGgPn/ou+KQaEU0w+CXeMMKi+y9zHnZ2AlNPDrELLTes
ZVgQ41ayh33XqINqb0Bct18IsSq3jOQM9S3HCOKwt5/YwfuByK/nUA8nsKqbiMsn
zsPC1MLmUKk7XSX1NSVJ6yr6GxbBRc/pn+/IL3EPefx8MhWlGBiQb+vNHkw88tnb
l/9/7G3KYvmkqPmtk2MctQu27MUd8C9Tn30XkKxOxgeDAgMBAAGjITAfMB0GA1Ud
DgQWBBR3j19033GyaEUbCWQkLFyEf2NzgzANBgkqhkiG9w0BAQsFAAOCAQEAEc9m
spxIYLSDTWuchJDW3mSjGDIdQhpW2MKuqYrrd27sXKgwSmdk86U6kgffVApXRBWZ
3Hbua4xekJU+oqJ7sIhe5ZUkiGb/l/E2aXTL+AVGKfYM6uH1+FJQS5CBCCnBcnNW
ts7W0eDxruiCDvMdnMReI7mjbRQbQBfzujjKxljxwqgiCMgFrdeU5D1Exv7m+LjF
OqijDPJeeWDcYf7mwAUJ1sYJgOKC57fARSQH0JwgclxFJImIJji7ZuYgPPi9xRIm
tMZJ+Tum8KDfBY3GFdK5AguOw6Nd6ZsGEscq4Y7BvUUDFP6RsTTgOgpRrqKD3oMF
1tKPLtx124L6qXdmgw==
-----END CERTIFICATE-----

0 comments on commit 7fd60fd

Please sign in to comment.