Skip to content

Commit a445483

Browse files
committed
Never write to real storage
1 parent 18f0932 commit a445483

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

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

+14-11
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,18 @@ const fakePlatformLoggingProvider = getFakePlatformLoggingProvider();
4646

4747
describe('internal api', () => {
4848
let app: FirebaseApp;
49-
let storageStub: SinonStub;
49+
let storageReadStub: SinonStub;
50+
let storageWriteStub: SinonStub;
5051

5152
beforeEach(() => {
5253
app = getFakeApp();
53-
storageStub = stub(storage, 'readTokenFromStorage').resolves(undefined);
54+
storageReadStub = stub(storage, 'readTokenFromStorage').resolves(undefined);
55+
storageWriteStub = stub(storage, 'writeTokenToStorage');
5456
});
5557

5658
afterEach(async () => {
57-
storageStub.restore();
59+
storageReadStub.restore();
60+
storageWriteStub.restore();
5861
clearState();
5962
removegreCAPTCHAScriptsOnPage();
6063
});
@@ -135,7 +138,7 @@ describe('internal api', () => {
135138

136139
it('notifies listeners using cached token', async () => {
137140
activate(app, FAKE_SITE_KEY, false);
138-
storageStub.resolves(fakeCachedAppCheckToken);
141+
storageReadStub.resolves(fakeCachedAppCheckToken);
139142

140143
const listener1 = spy();
141144
const listener2 = spy();
@@ -213,7 +216,7 @@ describe('internal api', () => {
213216
it('loads persisted token to memory and returns it', async () => {
214217
activate(app, FAKE_SITE_KEY);
215218

216-
storageStub.resolves(fakeCachedAppCheckToken);
219+
storageReadStub.resolves(fakeCachedAppCheckToken);
217220

218221
const clientStub = stub(client, 'exchangeToken');
219222

@@ -231,7 +234,7 @@ describe('internal api', () => {
231234

232235
stub(reCAPTCHA, 'getToken').resolves(fakeRecaptchaToken);
233236
stub(client, 'exchangeToken').resolves(fakeRecaptchaAppCheckToken);
234-
const storageWriteStub = stub(storage, 'writeTokenToStorage');
237+
storageWriteStub.resetHistory();
235238
const result = await getToken(app, fakePlatformLoggingProvider);
236239
expect(result).to.deep.equal({ token: fakeRecaptchaAppCheckToken.token });
237240
expect(storageWriteStub).has.been.calledWith(
@@ -285,7 +288,7 @@ describe('internal api', () => {
285288
});
286289

287290
it('reads any memory-cached debug token if in debug mode', async () => {
288-
storageStub.resetHistory();
291+
storageReadStub.resetHistory();
289292
const clientStub = stub(client, 'exchangeToken');
290293
const debugState = getDebugState();
291294
debugState.enabled = true;
@@ -298,12 +301,12 @@ describe('internal api', () => {
298301
expect(token).to.deep.equal({
299302
token: fakeCachedAppCheckToken.token
300303
});
301-
expect(storageStub).has.not.been.called;
304+
expect(storageReadStub).has.not.been.called;
302305
expect(clientStub).has.not.been.called;
303306
});
304307

305308
it('reads any indexedDB cached debug token if in debug mode and no token in memory', async () => {
306-
storageStub.resolves(fakeCachedAppCheckToken);
309+
storageReadStub.resolves(fakeCachedAppCheckToken);
307310
const clientStub = stub(client, 'exchangeToken');
308311
const debugState = getDebugState();
309312
debugState.enabled = true;
@@ -323,7 +326,7 @@ describe('internal api', () => {
323326
activate(app, FAKE_SITE_KEY);
324327

325328
stub(client, 'exchangeToken').resolves(fakeRecaptchaAppCheckToken);
326-
const storageWriteStub = stub(storage, 'writeTokenToStorage');
329+
storageWriteStub.resetHistory();
327330
const debugState = getDebugState();
328331
debugState.enabled = true;
329332
debugState.token = new Deferred();
@@ -391,7 +394,7 @@ describe('internal api', () => {
391394
it('notifies the listener with the valid token in storage', done => {
392395
const clock = useFakeTimers();
393396
activate(app, FAKE_SITE_KEY);
394-
storageStub.resolves({
397+
storageReadStub.resolves({
395398
token: `fake-cached-app-check-token`,
396399
expireTimeMillis: 123,
397400
issuedAtTimeMillis: 0

0 commit comments

Comments
 (0)