Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
f3b3caa
chore(core): Automate Daily Integration Tests (#1130)
lahirumaramba Jan 12, 2021
8ae44ce
Updating Google Cloud naming (#1122)
egilmorez Jan 14, 2021
1862342
update typo in interface name (#1138)
suchcodemuchwow Jan 22, 2021
6ce98e2
Improve token verification logic with Auth Emulator. (#1148)
yuchenshi Feb 4, 2021
01d8177
feat: Exporting all types of Messages so they can be used by consumer…
BorntraegerMarc Feb 4, 2021
fc2f557
feat(auth): Implement getUserByProviderId (#769)
rsgowman Feb 8, 2021
a00ce05
Allow enabling of anonymous provider via tenant configuration (#802)
rsgowman Feb 8, 2021
bea66a9
feat(auth): Add ability to link a federated ID with the `updateUser()…
rsgowman Feb 9, 2021
5c60cc4
(chore): Export UserProvider type and add it to toc.yaml (#1165)
lahirumaramba Feb 10, 2021
9585775
[chore] Release 9.5.0 (#1167)
lahirumaramba Feb 10, 2021
93362d5
chore: Updated doc generator for typedoc 0.19.0 (#1166)
hiranya911 Feb 11, 2021
6bcffa2
Update HOME.md (#1181)
egilmorez Feb 26, 2021
994fd43
feat(rtdb): Support emulator mode for rules management operations (#1…
hiranya911 Mar 10, 2021
bf4bacb
fix: Decoupled proactive token refresh from FirebaseApp (#1194)
hiranya911 Mar 18, 2021
738eba7
fix(rtdb): Fixing the RTDB token listener callback (#1203)
hiranya911 Mar 19, 2021
97d3823
Add emulator-based integration tests. (#1155)
yuchenshi Mar 23, 2021
19660d9
Disable one flaky tests in emulator. (#1205)
yuchenshi Mar 25, 2021
2a5b7f6
[chore] Release 9.6.0 (#1209)
hiranya911 Mar 29, 2021
60b4e29
(chore): Add JWT Decoder and Signature Verifier (#1204)
lahirumaramba Mar 30, 2021
1254850
chore: Add Mailgun send email action (#1210)
lahirumaramba Mar 31, 2021
e9e8a03
chore: Fix bug in send-email action code (#1214)
lahirumaramba Apr 1, 2021
1cc82ae
Change dispatch event name in nightly workflow (#1216)
lahirumaramba Apr 1, 2021
d961c3f
chore: Clean up nightly workflow trigger tests (#1212)
lahirumaramba Apr 1, 2021
da0f44f
Add support for FIREBASE_STORAGE_EMULATOR_HOST env var (#1175)
abeisgoat Apr 8, 2021
011c530
Revert "Disable one flaky tests in emulator. (#1205)" (#1227)
yuchenshi Apr 14, 2021
58f60d6
fix(rtdb): Fixing a token refresh livelock in Cloud Functions (#1234)
hiranya911 Apr 23, 2021
be4ebc6
[chore] Release 9.7.0 (#1240)
lahirumaramba Apr 27, 2021
c6e9ef7
fix: adds missing EMAIL_NOT_FOUND error code (#1246)
bojeil-google May 3, 2021
d8b769a
build(deps-dev): bump lodash from 4.17.19 to 4.17.21 (#1255)
dependabot[bot] May 6, 2021
43bfbd9
chore: Upgraded RTDB and other @firebase dependencies (#1250)
hiranya911 May 6, 2021
e65dbcf
build(deps): bump y18n from 3.2.1 to 3.2.2 (#1208)
dependabot[bot] May 6, 2021
3ae6a69
Fix storage emulator env formatting (#1257)
abeisgoat May 10, 2021
8267b56
build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#1260)
dependabot[bot] May 10, 2021
b88f891
feat: Add abuse reduction support (#1264)
lahirumaramba May 10, 2021
ab034f5
Fix @types/node conflict with grpc and port type (#1258)
nikhilag May 10, 2021
e5dc9f8
[chore] Release 9.8.0 (#1266)
lahirumaramba May 10, 2021
e759958
build(deps): bump handlebars from 4.7.6 to 4.7.7 (#1253)
dependabot[bot] May 10, 2021
e7155ea
build(deps): bump jose from 2.0.4 to 2.0.5 (#1265)
dependabot[bot] May 10, 2021
fd23ad0
fix: Revert regression introduced in #1257 (#1277)
hiranya911 May 18, 2021
3b48235
fix(auth): make MFA uid optional for updateUser operations (#1278)
bojeil-google May 18, 2021
3a2d2fa
chore: Enabled dependabot (#1279)
hiranya911 May 20, 2021
6bf2aee
chore: Remove gulp-replace dependency (#1285)
hiranya911 May 20, 2021
11f2fb1
build(deps-dev): bump gulp-header from 1.8.12 to 2.0.9 (#1283)
dependabot[bot] May 20, 2021
df3b398
build(deps-dev): bump run-sequence from 1.2.2 to 2.2.1 (#1282)
dependabot[bot] May 20, 2021
89387c1
build(deps-dev): bump sinon from 9.0.2 to 9.2.4 (#1289)
dependabot[bot] May 24, 2021
a549a6c
build(deps-dev): bump nyc from 14.1.1 to 15.1.0 (#1290)
dependabot[bot] May 24, 2021
d6dcf9e
build(deps-dev): bump chalk from 1.1.3 to 4.1.1 (#1288)
dependabot[bot] May 24, 2021
9d87537
build(deps-dev): bump @microsoft/api-extractor from 7.11.2 to 7.15.2 …
dependabot[bot] May 24, 2021
7afaf6c
chore: Teporarily disabling sendToDeviceGroup integration test (#1292)
hiranya911 May 24, 2021
1d2ff69
feat(auth): Added code flow support for OIDC flow. (#1220)
xil222 May 25, 2021
03c66d8
Update supported Node version to 10.13.0v (#1300)
lahirumaramba May 26, 2021
f914f92
Fixed integration test failure of skipped tests (#1299)
xil222 May 26, 2021
c529496
[chore] Release 9.9.0 (#1302)
lahirumaramba May 26, 2021
2ffc177
Update OIDC reference docs (#1305)
lahirumaramba May 27, 2021
f4a9a16
Add OAuthResponseType to ToC (#1303)
lahirumaramba May 27, 2021
29271ad
fix(auth): Better type hierarchies for Auth API (#1294)
hiranya911 May 27, 2021
5d5cea2
build(deps-dev): bump nock from 13.0.5 to 13.0.11 (#1311)
dependabot[bot] Jun 1, 2021
09e82c0
build(deps): bump ws from 7.3.1 to 7.4.6 (#1309)
dependabot[bot] Jun 1, 2021
312cdbb
build(deps-dev): bump del from 2.2.2 to 6.0.0 (#1310)
dependabot[bot] Jun 1, 2021
278bfc9
build(deps-dev): bump @types/jsonwebtoken from 8.5.0 to 8.5.1 (#1315)
dependabot[bot] Jun 1, 2021
2256f03
build(deps-dev): bump nock from 13.0.11 to 13.1.0 (#1313)
dependabot[bot] Jun 1, 2021
2e6e5d3
build(deps-dev): bump @types/sinon-chai from 3.2.4 to 3.2.5 (#1316)
dependabot[bot] Jun 1, 2021
8548bb3
build(deps-dev): bump bcrypt from 5.0.0 to 5.0.1 (#1324)
dependabot[bot] Jun 9, 2021
eb04602
build(deps): bump @google-cloud/firestore from 4.5.0 to 4.12.2 (#1325)
dependabot[bot] Jun 9, 2021
3c78a73
build(deps-dev): bump @types/mocha from 2.2.48 to 8.2.2 (#1323)
dependabot[bot] Jun 9, 2021
2a4de46
build(deps-dev): bump @firebase/app from 0.6.21 to 0.6.26 (#1329)
dependabot[bot] Jun 14, 2021
24d3b91
build(deps): bump @firebase/database from 0.10.0 to 0.10.4 (#1328)
dependabot[bot] Jun 14, 2021
f09bd64
build(deps-dev): bump request-promise from 4.2.5 to 4.2.6 (#1331)
dependabot[bot] Jun 14, 2021
9539a50
build(deps-dev): bump gulp-filter from 6.0.0 to 7.0.0 (#1334)
dependabot[bot] Jun 22, 2021
9b0d7ef
build(deps-dev): bump @types/minimist from 1.2.0 to 1.2.1 (#1336)
dependabot[bot] Jun 22, 2021
9872b9b
fix(docs): replace all global.html -> admin.html (#1341)
NothingEverHappens Jun 22, 2021
0f9a7de
feat(fis): Adding the admin.installations() API for deleting Firebase…
hiranya911 Jun 23, 2021
6f73c8c
fix: Updated TOC for new Auth type aliases (#1342)
hiranya911 Jun 23, 2021
e51bf1d
[chore] Release 9.10.0
hiranya911 Jun 24, 2021
2ca2bca
[chore] Release 9.10.0 (#1345)
hiranya911 Jun 24, 2021
2feece3
build(deps-dev): bump @types/request-promise from 4.1.46 to 4.1.47 (#…
dependabot[bot] Jun 24, 2021
f990473
Merge branch 'master' of github.com:firebase/firebase-admin-node
hiranya911 Jun 24, 2021
dd942b0
build(deps): bump @firebase/database from 0.10.4 to 0.10.5 (#1350)
dependabot[bot] Jul 2, 2021
bf959e3
build(deps-dev): bump @types/nock from 9.3.1 to 11.1.0 (#1351)
dependabot[bot] Jul 2, 2021
e9cd6bf
build(deps-dev): bump @types/sinon from 9.0.4 to 10.0.2 (#1326)
dependabot[bot] Jul 2, 2021
068ea80
build(deps): bump @firebase/database from 0.10.5 to 0.10.6 (#1356)
dependabot[bot] Jul 5, 2021
b8e837b
build(deps): bump jwks-rsa from 2.0.2 to 2.0.3 (#1361)
dependabot[bot] Jul 9, 2021
c87f640
build(deps-dev): bump yargs from 16.1.0 to 17.0.1 (#1357)
dependabot[bot] Jul 9, 2021
0b45481
build(deps-dev): bump @types/chai from 4.2.11 to 4.2.21 (#1365)
dependabot[bot] Jul 9, 2021
bfaec79
Update index.ts (#1367)
dhritzkiv Jul 12, 2021
760cd6a
build(deps): bump @google-cloud/firestore from 4.12.2 to 4.13.1 (#1369)
dependabot[bot] Jul 12, 2021
4e816f4
feat(fac): Add custom TTL options for App Check (#1363)
lahirumaramba Jul 14, 2021
c2b126b
Reduce App Check custom token exp to 5 mins (#1372)
lahirumaramba Jul 14, 2021
ba07e12
Add AppCheckTokenOptions type to ToC (#1375)
lahirumaramba Jul 15, 2021
21869ee
Fix typo and formatting in docs (#1378)
lahirumaramba Jul 15, 2021
20dc462
[chore] Release 9.11.0 (#1376)
lahirumaramba Jul 15, 2021
db13ec1
build(deps-dev): bump nock from 13.1.0 to 13.1.1 (#1370)
dependabot[bot] Jul 15, 2021
25429b3
build(deps-dev): bump @types/bcrypt from 2.0.0 to 5.0.0 (#1384)
dependabot[bot] Jul 19, 2021
b403c15
build(deps): bump @firebase/database from 0.10.6 to 0.10.7 (#1385)
dependabot[bot] Jul 19, 2021
8bfbadf
build(deps-dev): bump @types/lodash from 4.14.157 to 4.14.171 (#1386)
dependabot[bot] Jul 20, 2021
6841d4c
build(deps-dev): bump @types/request from 2.48.5 to 2.48.6 (#1387)
dependabot[bot] Jul 20, 2021
9ad3be7
build(deps-dev): bump @types/minimist from 1.2.1 to 1.2.2 (#1388)
dependabot[bot] Jul 20, 2021
2e5e473
build(deps): bump jwks-rsa from 2.0.3 to 2.0.4 (#1393)
dependabot[bot] Jul 27, 2021
2574ba9
Merge branch 'master' of github.com:firebase/firebase-admin-node
hiranya911 Jul 28, 2021
63d12e0
build(deps-dev): bump @microsoft/api-extractor from 7.15.2 to 7.18.4 …
dependabot[bot] Aug 3, 2021
8474194
build(deps): bump tar from 6.1.0 to 6.1.3 (#1399)
dependabot[bot] Aug 3, 2021
a9d8b41
build(deps-dev): bump ts-node from 9.0.0 to 10.2.0 (#1402)
dependabot[bot] Aug 9, 2021
cd7e384
Merge branch 'master' of github.com:firebase/firebase-admin-node
hiranya911 Aug 13, 2021
c8b1542
chore: Merged from main branch
hiranya911 Aug 16, 2021
9c41224
fix: Regenerated package-lock file
hiranya911 Aug 16, 2021
3d8a8ab
fix: Fixing a typo in doc comment
hiranya911 Aug 16, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add emulator-based integration tests. (#1155)
* Add emulator-based integration tests.

* Move emulator stuff out of package.json.

* Update CONTRIBUTING.md too.

* Add npx.

* Skip new unsupported tests.

* Inline commands in ci.yml.
  • Loading branch information
yuchenshi authored Mar 23, 2021
commit 97d382352542c4774e7c55b6fdfa29c3bc848d79
13 changes: 10 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,17 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install, build and test
- name: Install and build
run: |
npm ci
npm run build
npm run build:tests
npm test
npm run api-extractor
- name: Lint and run unit tests
run: npm test
- name: Run api-extractor
run: npm run api-extractor
- name: Run emulator-based integration tests
run: |
npm install -g firebase-tools
firebase emulators:exec --project fake-project-id --only auth,database,firestore \
'npx mocha \"test/integration/{auth,database,firestore}.spec.ts\" --slow 5000 --timeout 20000 --require ts-node/register'
23 changes: 22 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@ There are two test suites: unit and integration. The unit test suite is intended
development, and the integration test suite is intended to be run before packaging up release
candidates.

#### Unit Tests

To run the unit test suite:

```bash
Expand All @@ -135,7 +137,26 @@ If you wish to skip the linter, and only run the unit tests:
$ npm run test:unit
```

The integration tests run against an actual Firebase project. Create a new
#### Integration Tests with Emulator Suite

Some of the integration tests work with the Emulator Suite and you can run them
without an actual Firebase project.

First, make sure to [install Firebase CLI](https://firebase.google.com/docs/cli#install_the_firebase_cli).
And then:

```bash
firebase emulators:exec --project fake-project-id --only auth,database,firestore \
'npx mocha \"test/integration/{auth,database,firestore}.spec.ts\" --slow 5000 --timeout 20000 --require ts-node/register'
```

Currently, only the Auth, Database, and Firestore test suites work. Some test
cases will be automatically skipped due to lack of emulator support. The section
below covers how to run the full test suite against an actual Firebase project.

#### Integration Tests with an actual Firebase project

Other integration tests require an actual Firebase project. Create a new
project in the [Firebase Console](https://console.firebase.google.com), if you
do not already have one suitable for running the tests against. Then obtain the
following credentials from the project:
Expand Down
10 changes: 8 additions & 2 deletions test/integration/auth.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,10 @@ describe('admin.auth', () => {
});
});

it('can link/unlink with a federated provider', async () => {
it('can link/unlink with a federated provider', async function () {
if (authEmulatorHost) {
return this.skip(); // Not yet supported in Auth Emulator.
}
const googleFederatedUid = 'google_uid_' + generateRandomString(10);
let userRecord = await admin.auth().updateUser(updateUser.uid, {
providerToLink: {
Expand All @@ -707,7 +710,10 @@ describe('admin.auth', () => {
expect(providerIds).to.not.deep.include('google.com');
});

it('can unlink multiple providers at once, incl a non-federated provider', async () => {
it('can unlink multiple providers at once, incl a non-federated provider', async function () {
if (authEmulatorHost) {
return this.skip(); // Not yet supported in Auth Emulator.
}
await deletePhoneNumberUser('+15555550001');

const googleFederatedUid = 'google_uid_' + generateRandomString(10);
Expand Down
22 changes: 18 additions & 4 deletions test/integration/database.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import * as admin from '../../lib/index';
import * as chai from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
import { defaultApp, nullApp, nonNullApp, cmdArgs, databaseUrl } from './setup';
import { defaultApp, nullApp, nonNullApp, cmdArgs, databaseUrl, isEmulator } from './setup';

// eslint-disable-next-line @typescript-eslint/no-var-requires
const chalk = require('chalk');
Expand Down Expand Up @@ -64,7 +64,13 @@ describe('admin.database', () => {
.should.eventually.be.fulfilled;
});

it('App with null auth overrides is blocked by security rules', () => {
it('App with null auth overrides is blocked by security rules', function () {
if (isEmulator) {
// RTDB emulator has open security rules by default and won't block this.
// TODO(https://github.com/firebase/firebase-admin-node/issues/1149):
// remove this once updating security rules through admin is in place.
return this.skip();
}
return nullApp.database().ref('blocked').set(admin.database.ServerValue.TIMESTAMP)
.should.eventually.be.rejectedWith('PERMISSION_DENIED: Permission denied');
});
Expand Down Expand Up @@ -157,13 +163,21 @@ describe('admin.database', () => {
});
});

it('admin.database().getRules() returns currently defined rules as a string', () => {
it('admin.database().getRules() returns currently defined rules as a string', function () {
if (isEmulator) {
// https://github.com/firebase/firebase-admin-node/issues/1149
return this.skip();
}
return admin.database().getRules().then((result) => {
return expect(result).to.be.not.empty;
});
});

it('admin.database().getRulesJSON() returns currently defined rules as an object', () => {
it('admin.database().getRulesJSON() returns currently defined rules as an object', function () {
if (isEmulator) {
// https://github.com/firebase/firebase-admin-node/issues/1149
return this.skip();
}
return admin.database().getRulesJSON().then((result) => {
return expect(result).to.be.not.undefined;
});
Expand Down