@@ -149,13 +149,35 @@ describe('Database Tests', () => {
149
149
expect ( db2 . ref ( ) . toString ( ) ) . to . equal ( 'https://foo2.bar.com/' ) ;
150
150
} ) ;
151
151
152
+ it ( 'Different instances for different URLs (with FIREBASE_DATABASE_EMULATOR_HOST)' , ( ) => {
153
+ process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] = 'localhost:9000' ;
154
+ const db1 = defaultApp . database ( 'http://foo1.bar.com' ) ;
155
+ const db2 = defaultApp . database ( 'http://foo2.bar.com' ) ;
156
+ expect ( db1 . repo_ . repoInfo_ . toURLString ( ) ) . to . equal (
157
+ 'http://localhost:9000/?ns=foo1'
158
+ ) ;
159
+ expect ( db2 . repo_ . repoInfo_ . toURLString ( ) ) . to . equal (
160
+ 'http://localhost:9000/?ns=foo2'
161
+ ) ;
162
+ delete process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] ;
163
+ } ) ;
164
+
152
165
it ( 'Cannot use same URL twice' , ( ) => {
153
166
defaultApp . database ( 'http://foo.bar.com' ) ;
154
167
expect ( ( ) => {
155
168
defaultApp . database ( 'http://foo.bar.com/' ) ;
156
169
} ) . to . throw ( / D a t a b a s e i n i t i a l i z e d m u l t i p l e t i m e s / i) ;
157
170
} ) ;
158
171
172
+ it ( 'Cannot use same URL twice (with FIREBASE_DATABASE_EMULATOR_HOST)' , ( ) => {
173
+ process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] = 'localhost:9000' ;
174
+ defaultApp . database ( 'http://foo.bar.com' ) ;
175
+ expect ( ( ) => {
176
+ defaultApp . database ( 'http://foo.bar.com/' ) ;
177
+ } ) . to . throw ( / D a t a b a s e i n i t i a l i z e d m u l t i p l e t i m e s / i) ;
178
+ delete process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] ;
179
+ } ) ;
180
+
159
181
it ( 'Databases with legacy domain' , ( ) => {
160
182
expect ( ( ) => {
161
183
defaultApp . database ( 'http://foo.firebase.com/' ) ;
0 commit comments