jkomoros / card-web

The web app behind thecompendium.cards
Apache License 2.0
46 stars 8 forks source link

Switch to using @firebase/rules-unit-testing for security rules test #595

Open jkomoros opened 2 years ago

jkomoros commented 2 years ago

Originally tracked in #528.

The commit was largely done in b0e8fa6cf98cdefc9b5b828fec48ce1950ed11e1, but reverted (in 4466c21660833d5ac3698f91255af531605ed385) because there was the @#@!%&# compat firebase import problem that made #528 have to all be done in one fell swoop, too:

/Users/jkomoros/Code/card-web/node_modules/@firebase/database-compat/node_modules/@firebase/database/dist/index.node.cjs.js:14279
    app._registerComponent(new component.Component('database', function (container, _a) {
        ^

TypeError: app._registerComponent is not a function
    at registerDatabase (/Users/jkomoros/Code/card-web/node_modules/@firebase/database-compat/node_modules/@firebase/database/dist/index.node.cjs.js:14279:9)
    at Object.<anonymous> (/Users/jkomoros/Code/card-web/node_modules/@firebase/database-compat/node_modules/@firebase/database/dist/index.node.cjs.js:14496:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/jkomoros/Code/card-web/node_modules/@firebase/database-compat/dist/index.js:5:16)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/jkomoros/Code/card-web/node_modules/firebase/compat/database/dist/index.cjs.js:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/jkomoros/Code/card-web/node_modules/@firebase/rules-unit-testing/dist/index.cjs.js:5:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/jkomoros/Code/card-web/test/security/test.js:7:5)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at /Users/jkomoros/Code/card-web/node_modules/mocha/lib/mocha.js:250:27
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/Users/jkomoros/Code/card-web/node_modules/mocha/lib/mocha.js:247:14)
    at Mocha.run (/Users/jkomoros/Code/card-web/node_modules/mocha/lib/mocha.js:576:10)
    at Object.<anonymous> (/Users/jkomoros/Code/card-web/node_modules/mocha/bin/_mocha:637:18)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47

The tests currently run OK using the legacy testing harness, but at some point that will fail in the future when they remove it. No one else seems to have this compat import problem, so this will likely be an annoying thing I'll have to try to figure out later.