diff --git a/db/db.go b/db/db.go index 6d2774b8..dbec9185 100644 --- a/db/db.go +++ b/db/db.go @@ -48,8 +48,6 @@ func NewClient(ctx context.Context, c *internal.DatabaseConfig) (*Client, error) return nil, err } else if p.Scheme != "https" { return nil, fmt.Errorf("invalid database URL: %q; want scheme: %q", c.URL, "https") - } else if !strings.HasSuffix(p.Host, ".firebaseio.com") { - return nil, fmt.Errorf("invalid database URL: %q; want host: %q", c.URL, "firebaseio.com") } var ao []byte diff --git a/db/db_test.go b/db/db_test.go index 1ec624fb..e5a959e1 100644 --- a/db/db_test.go +++ b/db/db_test.go @@ -136,12 +136,31 @@ func TestNewClientAuthOverrides(t *testing.T) { } } +func TestValidURLS(t *testing.T) { + cases := []string{ + "https://test-db.firebaseio.com", + "https://test-db.firebasedatabase.app", + } + for _, tc := range cases { + c, err := NewClient(context.Background(), &internal.DatabaseConfig{ + Opts: testOpts, + URL: tc, + }) + if err != nil { + t.Fatal(err) + } + if c.url != tc { + t.Errorf("NewClient(%v).url = %q; want = %q", tc, c.url, testURL) + } + } +} + func TestInvalidURL(t *testing.T) { cases := []string{ "", "foo", "http://db.firebaseio.com", - "https://firebase.google.com", + "http://firebase.google.com", } for _, tc := range cases { c, err := NewClient(context.Background(), &internal.DatabaseConfig{