feat: publish standalone worker
Separate worker packaging and service lifecycle from the control plane.
Этот коммит содержится в:
67
internal/netaddr/inet_test.go
Обычный файл
67
internal/netaddr/inet_test.go
Обычный файл
@@ -0,0 +1,67 @@
|
||||
package netaddr
|
||||
|
||||
import (
|
||||
"net"
|
||||
"testing"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
func TestInet(t *testing.T) {
|
||||
db := openTestConn(t)
|
||||
defer db.Close()
|
||||
|
||||
inet := Inet{}
|
||||
|
||||
// Test scanning NULL values
|
||||
err := db.QueryRow("SELECT NULL::inet").Scan(&inet)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if inet.Inet != nil {
|
||||
t.Fatalf("expected null result")
|
||||
}
|
||||
|
||||
// Test setting NULL values
|
||||
err = db.QueryRow("SELECT $1::inet", inet).Scan(&inet)
|
||||
if err != nil {
|
||||
t.Fatalf("re-query null value failed: %s", err.Error())
|
||||
}
|
||||
if inet.Inet != nil {
|
||||
t.Fatalf("expected null result")
|
||||
}
|
||||
|
||||
// test encoding in query params, then decoding during Scan
|
||||
testBidirectional := func(i Inet, label string) {
|
||||
err = db.QueryRow("SELECT $1::inet", i).Scan(&inet)
|
||||
if err != nil {
|
||||
t.Fatalf("re-query %s inet failed: %s", label, err.Error())
|
||||
}
|
||||
if inet.Inet == nil {
|
||||
t.Fatalf("expected non-null value, got null for %s", label)
|
||||
}
|
||||
if !net.IP.Equal(i.Inet, inet.Inet) {
|
||||
t.Fatalf("expected IP addresses to match, but did not for %s - %s %s", label, i.Inet.String(), inet.Inet.String())
|
||||
}
|
||||
}
|
||||
|
||||
testBidirectional(Inet{Inet: net.ParseIP("192.168.0.1")}, "Simple IPv4")
|
||||
testBidirectional(Inet{Inet: net.ParseIP("::1")}, "Loopback IPv6")
|
||||
testBidirectional(Inet{Inet: net.ParseIP("abcd:2345::")}, "Loopback IPv6")
|
||||
|
||||
// Bad argument
|
||||
inet = Inet{}
|
||||
err = inet.Scan(456)
|
||||
if err == nil {
|
||||
t.Fatal("Expected error for non-byte[] argument to Scan")
|
||||
}
|
||||
|
||||
inet = Inet{}
|
||||
err = inet.Scan([]byte(""))
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error for empty string - %s", err.Error())
|
||||
}
|
||||
if inet.Inet != nil {
|
||||
t.Fatalf("Unexpected not null for empty/non-IP string string")
|
||||
}
|
||||
}
|
||||
Ссылка в новой задаче
Block a user