mirror of
https://gitlab.com/pnx-tools/dns-updater.git
synced 2026-06-16 05:54:56 +02:00
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package basic_http
|
|
|
|
import (
|
|
"net"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestService_Name(t *testing.T) {
|
|
s := Service{ServiceName: "my_service"}
|
|
|
|
assert.Equal(t, "my_service", s.Name())
|
|
}
|
|
|
|
func TestService_Lookup(t *testing.T) {
|
|
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
_, err := w.Write([]byte("255.240.85.2"))
|
|
assert.NoError(t, err)
|
|
}))
|
|
defer server.Close()
|
|
|
|
s := Service{Url: server.URL}
|
|
|
|
ip, err := s.Lookup()
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, net.IPv4(255, 240, 85, 2), ip)
|
|
}
|
|
|
|
func TestService_Lookup_WithHeaders(t *testing.T) {
|
|
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
assert.Equal(t, "application/json", r.Header.Get("Content-Type"))
|
|
|
|
_, err := w.Write([]byte("125.74.233.13"))
|
|
assert.NoError(t, err)
|
|
}))
|
|
defer server.Close()
|
|
|
|
s := Service{
|
|
Url: server.URL,
|
|
Headers: http.Header{
|
|
"Content-Type": []string{"application/json"},
|
|
},
|
|
}
|
|
|
|
ip, err := s.Lookup()
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, net.IPv4(125, 74, 233, 13), ip)
|
|
}
|