Skip to content

Commit 1534638

Browse files
committed
Added tests for Influx 1.8 and fallback errors
1 parent 672305d commit 1534638

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

client_test.go

+35-3
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ package influxdb2
66

77
import (
88
"context"
9-
http2 "github.com/influxdata/influxdb-client-go/internal/http"
10-
"github.com/stretchr/testify/assert"
11-
"github.com/stretchr/testify/require"
129
"net/http"
1310
"net/http/httptest"
1411
"testing"
1512
"time"
13+
14+
http2 "github.com/influxdata/influxdb-client-go/internal/http"
15+
"github.com/stretchr/testify/assert"
16+
"github.com/stretchr/testify/require"
1617
)
1718

1819
func TestUserAgent(t *testing.T) {
@@ -72,3 +73,34 @@ func TestServerErrorNonJSON(t *testing.T) {
7273
assert.Equal(t, "500 Internal Server Error", perror.Code)
7374
assert.Equal(t, "internal server error", perror.Message)
7475
}
76+
77+
func TestServerErrorInflux1_8(t *testing.T) {
78+
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
79+
w.Header().Set("X-Influxdb-Error", "bruh moment")
80+
w.Header().Set("Content-Type", "application/json")
81+
w.WriteHeader(404)
82+
w.Write([]byte(`{"error": "bruh moment"}`))
83+
}))
84+
85+
defer server.Close()
86+
c := NewClient(server.URL, "x")
87+
err := c.WriteApiBlocking("o", "b").WriteRecord(context.Background(), "a,a=a a=1i")
88+
require.NotNil(t, err)
89+
perror, ok := err.(*http2.Error)
90+
require.True(t, ok)
91+
require.NotNil(t, perror)
92+
assert.Equal(t, "404 Not Found", perror.Code)
93+
assert.Equal(t, "bruh moment", perror.Message)
94+
}
95+
96+
func TestServerErrorEmptyBody(t *testing.T) {
97+
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
98+
w.WriteHeader(404)
99+
}))
100+
101+
defer server.Close()
102+
c := NewClient(server.URL, "x")
103+
err := c.WriteApiBlocking("o", "b").WriteRecord(context.Background(), "a,a=a a=1i")
104+
require.NotNil(t, err)
105+
assert.Equal(t, "Unexpected status code 404", err.Error())
106+
}

0 commit comments

Comments
 (0)