123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package pq
- import (
- "testing"
- )
- func TestSimpleParseURL(t *testing.T) {
- expected := "host=hostname.remote"
- str, err := ParseURL("postgres://hostname.remote")
- if err != nil {
- t.Fatal(err)
- }
- if str != expected {
- t.Fatalf("unexpected result from ParseURL:\n+ %v\n- %v", str, expected)
- }
- }
- func TestIPv6LoopbackParseURL(t *testing.T) {
- expected := "host=::1 port=1234"
- str, err := ParseURL("postgres://[::1]:1234")
- if err != nil {
- t.Fatal(err)
- }
- if str != expected {
- t.Fatalf("unexpected result from ParseURL:\n+ %v\n- %v", str, expected)
- }
- }
- func TestFullParseURL(t *testing.T) {
- expected := `dbname=database host=hostname.remote password=top\ secret port=1234 user=username`
- str, err := ParseURL("postgres://username:top%20secret@hostname.remote:1234/database")
- if err != nil {
- t.Fatal(err)
- }
- if str != expected {
- t.Fatalf("unexpected result from ParseURL:\n+ %s\n- %s", str, expected)
- }
- }
- func TestInvalidProtocolParseURL(t *testing.T) {
- _, err := ParseURL("http://hostname.remote")
- switch err {
- case nil:
- t.Fatal("Expected an error from parsing invalid protocol")
- default:
- msg := "invalid connection protocol: http"
- if err.Error() != msg {
- t.Fatalf("Unexpected error message:\n+ %s\n- %s",
- err.Error(), msg)
- }
- }
- }
- func TestMinimalURL(t *testing.T) {
- cs, err := ParseURL("postgres://")
- if err != nil {
- t.Fatal(err)
- }
- if cs != "" {
- t.Fatalf("expected blank connection string, got: %q", cs)
- }
- }
|