Skip to content

Commit 472624a

Browse files
committed
Rebase and fix tests
1 parent a445483 commit 472624a

File tree

3 files changed

+32
-32
lines changed

3 files changed

+32
-32
lines changed

packages/app-check/src/api.test.ts

+23-24
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717
import '../test/setup';
1818
import { expect } from 'chai';
19-
import { stub, spy } from 'sinon';
19+
import { stub, spy, SinonStub } from 'sinon';
2020
import {
2121
activate,
2222
setTokenAutoRefreshEnabled,
@@ -126,25 +126,35 @@ describe('api', () => {
126126
});
127127
});
128128
describe('onTokenChanged()', () => {
129+
let storageReadStub: SinonStub;
130+
let storageWriteStub: SinonStub;
131+
const fakePlatformLoggingProvider = getFakePlatformLoggingProvider();
132+
const fakeRecaptchaToken = 'fake-recaptcha-token';
133+
const fakeRecaptchaAppCheckToken = {
134+
token: 'fake-recaptcha-app-check-token',
135+
expireTimeMillis: Date.now() + 60000,
136+
issuedAtTimeMillis: 0
137+
};
138+
139+
beforeEach(() => {
140+
storageReadStub = stub(storage, 'readTokenFromStorage').resolves(
141+
undefined
142+
);
143+
storageWriteStub = stub(storage, 'writeTokenToStorage');
144+
});
129145
afterEach(() => {
146+
storageReadStub.restore();
147+
storageWriteStub.restore();
130148
clearState();
131149
removegreCAPTCHAScriptsOnPage();
132150
});
133151
it('Listeners work when using top-level parameters pattern', async () => {
134-
const app = getFakeApp({ automaticDataCollectionEnabled: true });
135-
activate(app, FAKE_SITE_KEY, true);
136-
const fakePlatformLoggingProvider = getFakePlatformLoggingProvider();
137-
const fakeRecaptchaToken = 'fake-recaptcha-token';
138-
const fakeRecaptchaAppCheckToken = {
139-
token: 'fake-recaptcha-app-check-token',
140-
expireTimeMillis: 123,
141-
issuedAtTimeMillis: 0
142-
};
152+
const app = getFakeApp();
153+
activate(app, FAKE_SITE_KEY, false);
143154
stub(reCAPTCHA, 'getToken').returns(Promise.resolve(fakeRecaptchaToken));
144155
stub(client, 'exchangeToken').returns(
145156
Promise.resolve(fakeRecaptchaAppCheckToken)
146157
);
147-
stub(storage, 'writeTokenToStorage').returns(Promise.resolve(undefined));
148158

149159
const listener1 = (): void => {
150160
throw new Error();
@@ -183,20 +193,12 @@ describe('api', () => {
183193
});
184194

185195
it('Listeners work when using Observer pattern', async () => {
186-
const app = getFakeApp({ automaticDataCollectionEnabled: true });
187-
activate(app, FAKE_SITE_KEY, true);
188-
const fakePlatformLoggingProvider = getFakePlatformLoggingProvider();
189-
const fakeRecaptchaToken = 'fake-recaptcha-token';
190-
const fakeRecaptchaAppCheckToken = {
191-
token: 'fake-recaptcha-app-check-token',
192-
expireTimeMillis: 123,
193-
issuedAtTimeMillis: 0
194-
};
196+
const app = getFakeApp();
197+
activate(app, FAKE_SITE_KEY, false);
195198
stub(reCAPTCHA, 'getToken').returns(Promise.resolve(fakeRecaptchaToken));
196199
stub(client, 'exchangeToken').returns(
197200
Promise.resolve(fakeRecaptchaAppCheckToken)
198201
);
199-
stub(storage, 'writeTokenToStorage').returns(Promise.resolve(undefined));
200202

201203
const listener1 = (): void => {
202204
throw new Error();
@@ -238,11 +240,8 @@ describe('api', () => {
238240
stub(logger.logger, 'error');
239241
const app = getFakeApp();
240242
activate(app, FAKE_SITE_KEY, false);
241-
const fakePlatformLoggingProvider = getFakePlatformLoggingProvider();
242-
const fakeRecaptchaToken = 'fake-recaptcha-token';
243243
stub(reCAPTCHA, 'getToken').returns(Promise.resolve(fakeRecaptchaToken));
244244
stub(client, 'exchangeToken').rejects('exchange error');
245-
stub(storage, 'writeTokenToStorage').returns(Promise.resolve(undefined));
246245

247246
const listener1 = spy();
248247

packages/app-check/src/factory.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ import { PartialObserver } from '@firebase/util';
3939
import { FirebaseService } from '@firebase/app-types/private';
4040
import { getState } from './state';
4141

42-
export function factory(app: FirebaseApp,
43-
platformLoggerProvider: Provider<'platform-logger'>): FirebaseAppCheck & FirebaseService {
42+
export function factory(
43+
app: FirebaseApp,
44+
platformLoggerProvider: Provider<'platform-logger'>
45+
): FirebaseAppCheck & FirebaseService {
4446
return {
4547
app,
4648
activate: (

packages/app-check/src/internal-api.test.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ import * as logger from './logger';
3939
import * as client from './client';
4040
import * as storage from './storage';
4141
import { getState, clearState, setState, getDebugState } from './state';
42-
import { AppCheckTokenResult } from '@firebase/app-check-interop-types';
4342
import { Deferred } from '@firebase/util';
43+
import { AppCheckTokenResult } from '../../app-check-interop-types';
4444

4545
const fakePlatformLoggingProvider = getFakePlatformLoggingProvider();
4646

@@ -179,7 +179,7 @@ describe('internal api', () => {
179179
it('calls optional error handler if there is an error getting a token', async () => {
180180
stub(logger.logger, 'error');
181181
activate(app, FAKE_SITE_KEY, false);
182-
stub(reCAPTCHA, 'getToken').returns(Promise.resolve(fakeRecaptchaToken));
182+
stub(reCAPTCHA, 'getToken').resolves(fakeRecaptchaToken);
183183
stub(client, 'exchangeToken').rejects('exchange error');
184184
const listener1 = spy();
185185

@@ -392,24 +392,23 @@ describe('internal api', () => {
392392
});
393393

394394
it('notifies the listener with the valid token in storage', done => {
395-
const clock = useFakeTimers();
396395
activate(app, FAKE_SITE_KEY);
397396
storageReadStub.resolves({
398397
token: `fake-cached-app-check-token`,
399-
expireTimeMillis: 123,
398+
expireTimeMillis: Date.now() + 60000,
400399
issuedAtTimeMillis: 0
401400
});
402401

402+
// Need to use done() if the callback will be called by the
403+
// refresher.
403404
const fakeListener = (token: AppCheckTokenResult): void => {
404405
expect(token).to.deep.equal({
405406
token: `fake-cached-app-check-token`
406407
});
407-
clock.restore();
408408
done();
409409
};
410410

411411
addTokenListener(app, fakePlatformLoggingProvider, fakeListener);
412-
clock.tick(1);
413412
});
414413

415414
it('notifies the listener with the debug token immediately', async () => {

0 commit comments

Comments
 (0)