@@ -15,56 +15,86 @@ func TestParseURL(t *testing.T) {
1515 db int
1616 tls bool
1717 err error
18+ user string
19+ pass string
1820 }{
1921 {
2022 "redis://localhost:123/1" ,
2123 "localhost:123" ,
2224 1 , false , nil ,
25+ "" , "" ,
2326 },
2427 {
2528 "redis://localhost:123" ,
2629 "localhost:123" ,
2730 0 , false , nil ,
31+ "" , "" ,
2832 },
2933 {
3034 "redis://localhost/1" ,
3135 "localhost:6379" ,
3236 1 , false , nil ,
37+ "" , "" ,
3338 },
3439 {
3540 "redis://12345" ,
3641 "12345:6379" ,
3742 0 , false , nil ,
43+ "" , "" ,
3844 },
3945 {
4046 "rediss://localhost:123" ,
4147 "localhost:123" ,
4248 0 , true , nil ,
49+ "" , "" ,
50+ },
51+ {
52+ "redis://:bar@localhost:123" ,
53+ "localhost:123" ,
54+ 0 , false , nil ,
55+ "" , "bar" ,
56+ },
57+ {
58+ "redis://foo@localhost:123" ,
59+ "localhost:123" ,
60+ 0 , false , nil ,
61+ "foo" , "" ,
62+ },
63+ {
64+ "redis://foo:bar@localhost:123" ,
65+ "localhost:123" ,
66+ 0 , false , nil ,
67+ "foo" , "bar" ,
4368 },
4469 {
4570 "redis://localhost/?abc=123" ,
4671 "" ,
4772 0 , false , errors .New ("no options supported" ),
73+ "" , "" ,
4874 },
4975 {
5076 "http://google.com" ,
5177 "" ,
5278 0 , false , errors .New ("invalid redis URL scheme: http" ),
79+ "" , "" ,
5380 },
5481 {
5582 "redis://localhost/1/2/3/4" ,
5683 "" ,
5784 0 , false , errors .New ("invalid redis URL path: /1/2/3/4" ),
85+ "" , "" ,
5886 },
5987 {
6088 "12345" ,
6189 "" ,
6290 0 , false , errors .New ("invalid redis URL scheme: " ),
91+ "" , "" ,
6392 },
6493 {
6594 "redis://localhost/iamadatabase" ,
6695 "" ,
6796 0 , false , errors .New (`invalid redis database number: "iamadatabase"` ),
97+ "" , "" ,
6898 },
6999 }
70100
@@ -90,6 +120,12 @@ func TestParseURL(t *testing.T) {
90120 if c .tls && o .TLSConfig == nil {
91121 t .Errorf ("got nil TLSConfig, expected a TLSConfig" )
92122 }
123+ if o .Username != c .user {
124+ t .Errorf ("got %q, expected %q" , o .Username , c .user )
125+ }
126+ if o .Password != c .pass {
127+ t .Errorf ("got %q, expected %q" , o .Password , c .pass )
128+ }
93129 })
94130 }
95131}
0 commit comments