Skip to content

Commit f1c1e64

Browse files
committed
Made emulator changes more scalable
1 parent 629d70b commit f1c1e64

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

packages/data-connect/test/unit/queries.test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,11 @@ import chaiAsPromised from 'chai-as-promised';
2222
import * as sinon from 'sinon';
2323

2424
import {
25-
AuthTokenListener,
26-
AuthTokenProvider,
2725
DataConnectOptions
2826
} from '../../src';
2927
import { initializeFetch } from '../../src/network/fetch';
3028
import { RESTTransport } from '../../src/network/transport/rest';
29+
import { AuthTokenListener, AuthTokenProvider } from '../../src/core/FirebaseAuthProvider';
3130
chai.use(chaiAsPromised);
3231
const options: DataConnectOptions = {
3332
connector: 'c',

scripts/emulator-testing/emulators/dataconnect-emulator.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,40 @@
1515
* limitations under the License.
1616
*/
1717

18+
import { platform } from 'os';
1819
import { Emulator } from './emulator';
1920

2021
const DATABASE_EMULATOR_VERSION = '1.1.17';
2122

2223
export class DataConnectEmulator extends Emulator {
2324
// namespace: string;
2425

25-
constructor(port = 3628, namespace = 'test-emulator') {
26+
constructor(port = 3628) {
27+
const os = platform();
28+
let urlString = '';
29+
switch(os) {
30+
case 'darwin':
31+
urlString = 'https://firebasestorage.googleapis.com/v0/b/firemat-preview-drop/o/emulator%2Fdataconnect-emulator-macos-v1.3.5?alt=media&token=52c3db6e-2a2a-4094-a482-a8c85ae67a88';
32+
break;
33+
case 'linux':
34+
urlString = 'https://firebasestorage.googleapis.com/v0/b/firemat-preview-drop/o/emulator%2Fdataconnect-emulator-linux-v1.3.5?alt=media&token=bafb1f81-2a27-4851-b655-59934985b492';
35+
break;
36+
case 'win32':
37+
urlString = 'https://firebasestorage.googleapis.com/v0/b/firemat-preview-drop/o/emulator%2Fdataconnect-emulator-windows-v1.3.5?alt=media&token=d3d04c57-992f-4a4b-931d-5c90efd54c5a';
38+
break;
39+
default:
40+
throw new Error(`We are unable to support your environment ${os} at this time.`);
41+
42+
43+
}
2644
super(
2745
`cli-v${DATABASE_EMULATOR_VERSION}`,
2846
// Use locked version of emulator for test to be deterministic.
2947
// The latest version can be found from database emulator doc:
3048
// https://firebase.google.com/docs/database/security/test-rules-emulator
31-
`https://firebasestorage.googleapis.com/v0/b/firemat-preview-drop/o/emulator%2Fdataconnect-emulator-macos-v1.1.17?alt=media&token=c5e758bc-aaad-4be6-bd41-bcc08f3944a7`,
49+
urlString,
3250
port
3351
);
34-
this.isJar = false;
35-
// this.namespace = namespace;
52+
this.isDataConnect = true;
3653
}
3754
}

scripts/emulator-testing/emulators/emulator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export abstract class Emulator {
3636
cacheDirectory: string;
3737
cacheBinaryPath: string;
3838

39-
isJar = true;
39+
isDataConnect = false;
4040

4141
constructor(
4242
private binaryName: string,
@@ -96,7 +96,7 @@ export abstract class Emulator {
9696
throw new Error('You must call download() before setUp()');
9797
}
9898
let promise: ChildProcessPromise<SpawnPromiseResult>;
99-
if (!this.isJar) {
99+
if (this.isDataConnect) {
100100
promise = spawn(this.binaryPath, [
101101
'dev',
102102
'--local_connection_string',

0 commit comments

Comments
 (0)