1
0
Fork 0
mirror of https://gitlab.com/pnx-tools/dns-updater.git synced 2026-06-16 05:54:56 +02:00

ip/resolver/jsonip/service_test.go: adding json and ip parse test.

This commit is contained in:
Henrik Hautakoski 2023-12-02 14:23:48 +01:00
parent acf8976f53
commit e7204794e2

View file

@ -43,3 +43,31 @@ func TestService_Lookup_HTTPError(t *testing.T) {
assert.EqualError(t, err, "HTTP Response: 404 Not Found")
assert.Nil(t, ip)
}
func TestService_Lookup_JsonParseError(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, err := w.Write([]byte(`invalid_json`))
assert.NoError(t, err)
}))
defer server.Close()
s := Service{url: server.URL}
ip, err := s.Lookup(context.Background())
assert.EqualError(t, err, "invalid character 'i' looking for beginning of value")
assert.Nil(t, ip)
}
func TestService_Lookup_IPParseError(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, err := w.Write([]byte(`{"ip":"xxx","geo-ip":"https://getjsonip.com/#plus","API Help":"https://getjsonip.com/#docs"}`))
assert.NoError(t, err)
}))
defer server.Close()
s := Service{url: server.URL}
ip, err := s.Lookup(context.Background())
assert.EqualError(t, err, "invalid IP address: xxx")
assert.Nil(t, ip)
}