mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-02 12:17:39 -06:00
6fe2703665
* Remove `make updatedeps` from Travis build. We'll follow up with more specific plans around dependency updating in subsequent PRs. * Update all `make` targets to set `GO15VENDOREXPERIMENT=1` and to filter out `/vendor/` from `./...` where appropriate. * Temporarily remove `vet` from the `make test` target until we can figure out how to get it to not vet `vendor/`. (Initial experimentation failed to yield the proper incantation.) Everything is pinned to current master, with the exception of: * Azure/azure-sdk-for-go which is pinned before the breaking change today * aws/aws-sdk-go which is pinned to the most recent tag The documentation still needs to be updated, which we can do in a follow up PR. The goal here is to unblock release.
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
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 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)
|
|
}
|
|
}
|