diff --git a/.changeset/clever-kangaroos-hug.md b/.changeset/clever-kangaroos-hug.md new file mode 100644 index 00000000000..93639fee02b --- /dev/null +++ b/.changeset/clever-kangaroos-hug.md @@ -0,0 +1,5 @@ +--- +"@firebase/database": patch +--- + +Fixes an issue that caused `refFromUrl()` to reject production database URLs when `useEmulator()` was used. diff --git a/packages/database/src/api/Database.ts b/packages/database/src/api/Database.ts index 8d88521fcb2..185cdf9f832 100644 --- a/packages/database/src/api/Database.ts +++ b/packages/database/src/api/Database.ts @@ -156,7 +156,7 @@ export class Database implements FirebaseService { const repoInfo = parsedURL.repoInfo; if ( - !repoInfo.isCustomHost() && + !this.repo_.repoInfo_.isCustomHost() && repoInfo.host !== this.repo_.repoInfo_.host ) { fatal( diff --git a/packages/database/test/database.test.ts b/packages/database/test/database.test.ts index 719d4e3abd3..17b1b82c6c7 100644 --- a/packages/database/test/database.test.ts +++ b/packages/database/test/database.test.ts @@ -246,12 +246,12 @@ describe('Database Tests', () => { }); it('refFromURL() validates domain', () => { - const db = (firebase as any).database(); - expect(() => { - const ref = db.refFromURL( - 'https://thisisnotarealfirebase.firebaseio.com/path/to/data' - ); - }).to.throw(/does not match.*database/i); + const db = (firebase as any) + .app() + .database('https://thisisreal.firebaseio.com'); + expect(() => + db.refFromURL('https://thisisnotreal.firebaseio.com/path/to/data') + ).to.throw(/does not match.*database/i); }); it('refFromURL() validates argument', () => {