Skip to content

Commit c76861a

Browse files
committed
lint fixes, isBrowser checks for tests, and format fixes
1 parent 9cf56da commit c76861a

File tree

2 files changed

+86
-44
lines changed

2 files changed

+86
-44
lines changed

packages/auth/scripts/run_node_tests.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ let testConfig = [
4848
];
4949

5050
if (argv.integration) {
51-
testConfig = ['test/integration/flows/{email,anonymous,firebaseserverapp}.test.ts'];
51+
testConfig = [
52+
'test/integration/flows/{email,anonymous,firebaseserverapp}.test.ts'
53+
];
5254
if (argv.local) {
5355
testConfig.push('test/integration/flows/*.local.test.ts');
5456
}

packages/auth/test/integration/flows/firebaseserverapp.test.ts

Lines changed: 83 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -27,37 +27,38 @@ import {
2727
getAuth,
2828
onAuthStateChanged,
2929
signInAnonymously,
30-
updateProfile,
30+
updateProfile
3131
} from '@firebase/auth';
32-
import { FirebaseError } from '@firebase/util';
32+
import { isBrowser } from '@firebase/util';
3333
import { initializeServerApp } from '@firebase/app';
3434

3535
import {
3636
cleanUpTestInstance,
3737
getTestInstance,
3838
randomEmail
3939
} from '../../helpers/integration/helpers';
40-
import { generateMiddlewareTests } from './middleware_test_generator';
4140

4241
use(chaiAsPromised);
4342

44-
const sleep = (delay: number) => new Promise((resolve) => setTimeout(resolve, delay))
4543
const signInWaitDuration = 200;
4644

47-
describe('Integration test: automatic user login via idToken in server apps', () => {
45+
describe('Integration test: Auth FirebaseServerApp tests', () => {
4846
let auth: Auth;
4947
let serverAppAuth: Auth;
5048

5149
beforeEach(() => {
5250
auth = getTestInstance();
5351
});
54-
55-
afterEach(() => {
56-
cleanUpTestInstance(auth);
57-
cleanUpTestInstance(serverAppAuth);
52+
53+
afterEach(async () => {
54+
await cleanUpTestInstance(auth);
55+
await serverAppAuth.signOut();
5856
});
5957

6058
it('signs in with anonymous user', async () => {
59+
if (isBrowser()) {
60+
return;
61+
}
6162
const userCred = await signInAnonymously(auth);
6263
expect(auth.currentUser).to.eq(userCred.user);
6364
expect(userCred.operationType).to.eq(OperationType.SIGN_IN);
@@ -71,26 +72,35 @@ describe('Integration test: automatic user login via idToken in server apps', ()
7172
const authIdToken = await user.getIdToken();
7273
const firebaseServerAppSettings = { authIdToken };
7374

74-
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
75+
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
7576
serverAppAuth = getAuth(serverApp);
7677
let numberServerLogins = 0;
77-
onAuthStateChanged(serverAppAuth, function(serverAuthUser) {
78+
onAuthStateChanged(serverAppAuth, serverAuthUser => {
7879
if (serverAuthUser) {
7980
numberServerLogins++;
80-
81+
8182
// Note, the serverAuthUser does not fully equal the standard Auth user
8283
// since the serverAuthUser does not have a refresh token.
8384
expect(user.uid).to.be.equal(serverAuthUser.uid);
8485
expect(user.isAnonymous).to.be.equal(serverAuthUser.isAnonymous);
8586
expect(user.emailVerified).to.be.equal(serverAuthUser.emailVerified);
86-
expect(user.providerData.length).to.eq(serverAuthUser.providerData.length);
87-
}
87+
expect(user.providerData.length).to.eq(
88+
serverAuthUser.providerData.length
89+
);
90+
}
8891
});
89-
await sleep(signInWaitDuration);
92+
93+
await new Promise(resolve => {
94+
setTimeout(resolve, signInWaitDuration);
95+
});
96+
9097
expect(numberServerLogins).to.equal(1);
9198
});
9299

93100
it('getToken operations fullfilled or rejected', async () => {
101+
if (isBrowser()) {
102+
return;
103+
}
94104
const userCred = await signInAnonymously(auth);
95105
expect(auth.currentUser).to.eq(userCred.user);
96106
expect(userCred.operationType).to.eq(OperationType.SIGN_IN);
@@ -102,28 +112,38 @@ describe('Integration test: automatic user login via idToken in server apps', ()
102112
const authIdToken = await user.getIdToken();
103113
const firebaseServerAppSettings = { authIdToken };
104114

105-
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
115+
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
106116
serverAppAuth = getAuth(serverApp);
107117
let numberServerLogins = 0;
108-
onAuthStateChanged(serverAppAuth, function(serverAuthUser) {
118+
onAuthStateChanged(serverAppAuth, serverAuthUser => {
109119
if (serverAuthUser) {
110120
numberServerLogins++;
111121
expect(user.uid).to.be.equal(serverAuthUser.uid);
112122
expect(serverAppAuth.currentUser).to.equal(serverAuthUser);
113-
expect(serverAuthUser.getIdToken)
114-
}
123+
expect(serverAuthUser.getIdToken);
124+
}
115125
});
116-
await sleep(signInWaitDuration);
126+
127+
await new Promise(resolve => {
128+
setTimeout(resolve, signInWaitDuration);
129+
});
130+
117131
expect(numberServerLogins).to.equal(1);
118132
expect(serverAppAuth.currentUser).to.not.be.null;
119-
if(serverAppAuth.currentUser) {
120-
const idToken = await serverAppAuth.currentUser.getIdToken(/*forceRefresh=*/false);
133+
if (serverAppAuth.currentUser) {
134+
const idToken = await serverAppAuth.currentUser.getIdToken(
135+
/*forceRefresh=*/ false
136+
);
121137
expect(idToken).to.not.be.null;
122-
expect(serverAppAuth.currentUser.getIdToken(/*forceRefresh=*/true)).to.be.rejected;
138+
await expect(serverAppAuth.currentUser.getIdToken(/*forceRefresh=*/ true))
139+
.to.be.rejected;
123140
}
124141
});
125142

126143
it('signs in with email crednetial user', async () => {
144+
if (isBrowser()) {
145+
return;
146+
}
127147
const email = randomEmail();
128148
const password = 'password';
129149
const userCred = await createUserWithEmailAndPassword(
@@ -134,7 +154,7 @@ describe('Integration test: automatic user login via idToken in server apps', ()
134154
const user = userCred.user;
135155
expect(auth.currentUser).to.eq(userCred.user);
136156
expect(userCred.operationType).to.eq(OperationType.SIGN_IN);
137-
157+
138158
const additionalUserInfo = getAdditionalUserInfo(userCred)!;
139159
expect(additionalUserInfo.isNewUser).to.be.true;
140160
expect(additionalUserInfo.providerId).to.eq('password');
@@ -144,55 +164,71 @@ describe('Integration test: automatic user login via idToken in server apps', ()
144164
const authIdToken = await user.getIdToken();
145165
const firebaseServerAppSettings = { authIdToken };
146166

147-
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
167+
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
148168
serverAppAuth = getAuth(serverApp);
149169
let numberServerLogins = 0;
150-
onAuthStateChanged(serverAppAuth, function(serverAuthUser) {
170+
onAuthStateChanged(serverAppAuth, serverAuthUser => {
151171
if (serverAuthUser) {
152172
numberServerLogins++;
153173
expect(serverAppAuth.currentUser).to.equal(serverAuthUser);
154174
expect(user.uid).to.be.equal(serverAuthUser.uid);
155175
expect(serverAuthUser.refreshToken).to.be.empty;
156176
expect(user.isAnonymous).to.be.equal(serverAuthUser.isAnonymous);
157177
expect(user.emailVerified).to.be.equal(serverAuthUser.emailVerified);
158-
expect(user.providerData.length).to.eq(serverAuthUser.providerData.length);
178+
expect(user.providerData.length).to.eq(
179+
serverAuthUser.providerData.length
180+
);
159181
expect(user.email).to.equal(serverAuthUser.email);
160-
}
182+
}
183+
});
184+
185+
await new Promise(resolve => {
186+
setTimeout(resolve, signInWaitDuration);
161187
});
162-
await sleep(signInWaitDuration);
188+
163189
expect(numberServerLogins).to.equal(1);
164190
});
165191

166192
it('can reload user', async () => {
193+
if (isBrowser()) {
194+
return;
195+
}
167196
const userCred = await signInAnonymously(auth);
168197
expect(auth.currentUser).to.eq(userCred.user);
169198

170199
const user = userCred.user;
171200
expect(user).to.equal(auth.currentUser);
172201
expect(user.uid).to.be.a('string');
173-
202+
174203
const authIdToken = await user.getIdToken();
175204
const firebaseServerAppSettings = { authIdToken };
176205

177-
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
206+
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
178207
serverAppAuth = getAuth(serverApp);
179208
let numberServerLogins = 0;
180-
onAuthStateChanged(serverAppAuth, function(serverAuthUser) {
209+
onAuthStateChanged(serverAppAuth, serverAuthUser => {
181210
if (serverAuthUser) {
182211
numberServerLogins++;
183212
expect(user.uid).to.be.equal(serverAuthUser.uid);
184213
expect(serverAppAuth.currentUser).to.equal(serverAuthUser);
185-
}
214+
}
186215
});
187-
await sleep(signInWaitDuration);
216+
217+
await new Promise(resolve => {
218+
setTimeout(resolve, signInWaitDuration);
219+
});
220+
188221
expect(serverAppAuth.currentUser).to.not.be.null;
189-
if(serverAppAuth.currentUser) {
222+
if (serverAppAuth.currentUser) {
190223
await serverAppAuth.currentUser.reload();
191224
}
192225
expect(numberServerLogins).to.equal(1);
193226
});
194227

195228
it('can update server based user profile', async () => {
229+
if (isBrowser()) {
230+
return;
231+
}
196232
const userCred = await signInAnonymously(auth);
197233
expect(auth.currentUser).to.eq(userCred.user);
198234

@@ -204,24 +240,29 @@ describe('Integration test: automatic user login via idToken in server apps', ()
204240
const authIdToken = await user.getIdToken();
205241
const firebaseServerAppSettings = { authIdToken };
206242

207-
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
243+
const serverApp = initializeServerApp(auth.app, firebaseServerAppSettings);
208244
serverAppAuth = getAuth(serverApp);
209245
let numberServerLogins = 0;
210-
const newDisplayName = "newName";
211-
onAuthStateChanged(serverAppAuth, function(serverAuthUser) {
246+
const newDisplayName = 'newName';
247+
onAuthStateChanged(serverAppAuth, serverAuthUser => {
212248
if (serverAuthUser) {
213249
numberServerLogins++;
214250
expect(serverAppAuth.currentUser).to.equal(serverAuthUser);
215251
expect(user.uid).to.be.equal(serverAuthUser.uid);
216252
expect(user.displayName).to.be.null;
217-
updateProfile(serverAuthUser, {
253+
void updateProfile(serverAuthUser, {
218254
displayName: newDisplayName
219255
});
220-
}
256+
}
257+
});
258+
259+
await new Promise(resolve => {
260+
setTimeout(resolve, signInWaitDuration);
221261
});
222-
await sleep(signInWaitDuration);
262+
223263
expect(serverAppAuth.currentUser).to.not.be.null;
224-
if(serverAppAuth.currentUser) {
264+
265+
if (serverAppAuth.currentUser) {
225266
await serverAppAuth.currentUser.reload();
226267
}
227268

@@ -230,5 +271,4 @@ describe('Integration test: automatic user login via idToken in server apps', ()
230271
expect(serverAppAuth.currentUser?.displayName).to.not.be.null;
231272
expect(serverAppAuth.currentUser?.displayName).to.equal(newDisplayName);
232273
});
233-
234274
});

0 commit comments

Comments
 (0)