// Connect to remote instance of Redis using a URL. func ExampleDialURL() { c, err := redis.DialURL(os.Getenv("REDIS_URL")) if err != nil { // handle connection error } defer c.Close() }
func TestDialURLErrors(t *testing.T) { for _, d := range dialErrors { _, err := redis.DialURL(d.rawurl) if err == nil || !strings.Contains(err.Error(), d.expectedError) { t.Errorf("DialURL did not return expected error (expected %v to contain %s)", err, d.expectedError) } } }
func TestDialURLDatabase(t *testing.T) { var buf bytes.Buffer _, err := redis.DialURL("redis://localhost/3", dialTestConn(strings.NewReader("+OK\r\n"), &buf)) if err != nil { t.Error("dial error:", err) } expected := "*2\r\n$6\r\nSELECT\r\n$1\r\n3\r\n" actual := buf.String() if actual != expected { t.Errorf("commands = %q, want %q", actual, expected) } }
func TestDialURLPassword(t *testing.T) { var buf bytes.Buffer _, err := redis.DialURL("redis://*****:*****@localhost", dialTestConn(strings.NewReader("+OK\r\n"), &buf)) if err != nil { t.Error("dial error:", err) } expected := "*2\r\n$4\r\nAUTH\r\n$6\r\nabc123\r\n" actual := buf.String() if actual != expected { t.Errorf("commands = %q, want %q", actual, expected) } }
func TestDialURLHost(t *testing.T) { checkHost := func(network, address string) (net.Conn, error) { if address != "localhost:6379" { t.Errorf("DialURL did not set host to localhost by default (got %v)", address) } return nil, nil } _, err := redis.DialURL("redis://:6379", redis.DialNetDial(checkHost)) if err != nil { t.Error("dial error:", err) } }