Closed
Description
I am prototyping a backend based on the GoogleCloudPlatform/nodejs-docs-samples/functions/datastore but run to problems porting the code to a local setup. A naive approach consisting of
- Copy functions/datastore to a new directory
- Add
let sinon = require('sinon')
andlet assert = require('power-assert')
to test/index.test.js (these were previously defined in the global scope by test/setup.js - Change package.json test command to
mocha test/index.test.js
yields errors like this:
1) functions:datastore set: Handles save error:
AssertionError: undefined deepEqual 1
Do you have any suggestions as to why I see this error? And what needs to be changed/added to my own setup? A minimum working example that reproduces the error can be found at kaspermarstal/nodejs-docs-samples-functions-datastore.
The full error report:
$ npm test
> nodejs-docs-samples-functions-datastore@0.0.1 test /Users/kasper/Development/datastore
> mocha test/*.test.js
functions:datastore
✓ set: Set fails without a value
✓ set: Set fails without a key
✓ set: Set fails without a kind
Error: error
at Context.it (/Users/kasper/Development/datastore/test/index.test.js:102:19)
at callFn (/Users/kasper/Development/datastore/node_modules/mocha/lib/runnable.js:345:21)
at Test.Runnable.run (/Users/kasper/Development/datastore/node_modules/mocha/lib/runnable.js:337:7)
at Runner.runTest (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:444:10)
at /Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:550:12
at next (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:361:14)
at /Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:371:7
at next (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:295:14)
at Immediate.<anonymous> (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:339:5)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5)
1) set: Handles save error
✓ set: Set saves an entity
✓ get: Get fails without a key
✓ get: Get fails without a kind
Error: error
at Context.it (/Users/kasper/Development/datastore/test/index.test.js:158:19)
at callFn (/Users/kasper/Development/datastore/node_modules/mocha/lib/runnable.js:345:21)
at Test.Runnable.run (/Users/kasper/Development/datastore/node_modules/mocha/lib/runnable.js:337:7)
at Runner.runTest (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:444:10)
at /Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:550:12
at next (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:361:14)
at /Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:371:7
at next (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:295:14)
at Immediate.<anonymous> (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:339:5)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5)
2) get: Handles get error
Error: No entity found for key Task/sampletask1.
at datastore.get.then (/Users/kasper/Development/datastore/index.js:96:15)
3) get: Fails when entity does not exist
✓ get: Finds an entity
✓ del: Delete fails without a key
✓ del: Delete fails without a kind
Error: error
at Context.it (/Users/kasper/Development/datastore/test/index.test.js:234:19)
at callFn (/Users/kasper/Development/datastore/node_modules/mocha/lib/runnable.js:345:21)
at Test.Runnable.run (/Users/kasper/Development/datastore/node_modules/mocha/lib/runnable.js:337:7)
at Runner.runTest (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:444:10)
at /Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:550:12
at next (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:361:14)
at /Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:371:7
at next (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:295:14)
at Immediate.<anonymous> (/Users/kasper/Development/datastore/node_modules/mocha/lib/runner.js:339:5)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5)
4) del: Handles delete error
✓ del: Deletes an entity
10 passing (49ms)
4 failing
1) functions:datastore set: Handles save error:
AssertionError: undefined deepEqual 1
at Decorator._callFunc (node_modules/empower-core/lib/decorator.js:110:20)
at Decorator.concreteAssert (node_modules/empower-core/lib/decorator.js:103:17)
at Function.decoratedAssert [as deepEqual] (node_modules/empower-core/lib/decorate.js:51:30)
at sample.program.set.then.catch (test/index.test.js:113:16)
at runMicrotasksCallback (internal/process/next_tick.js:58:5)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
2) functions:datastore get: Handles get error:
AssertionError: undefined deepEqual 1
at Decorator._callFunc (node_modules/empower-core/lib/decorator.js:110:20)
at Decorator.concreteAssert (node_modules/empower-core/lib/decorator.js:103:17)
at Function.decoratedAssert [as deepEqual] (node_modules/empower-core/lib/decorate.js:51:30)
at sample.program.get.then.catch (test/index.test.js:169:16)
at runMicrotasksCallback (internal/process/next_tick.js:58:5)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
3) functions:datastore get: Fails when entity does not exist:
AssertionError: undefined deepEqual 1
at Decorator._callFunc (node_modules/empower-core/lib/decorator.js:110:20)
at Decorator.concreteAssert (node_modules/empower-core/lib/decorator.js:103:17)
at Function.decoratedAssert [as deepEqual] (node_modules/empower-core/lib/decorate.js:51:30)
at sample.program.get.then.catch (test/index.test.js:190:16)
4) functions:datastore del: Handles delete error:
AssertionError: undefined deepEqual 1
at Decorator._callFunc (node_modules/empower-core/lib/decorator.js:110:20)
at Decorator.concreteAssert (node_modules/empower-core/lib/decorator.js:103:17)
at Function.decoratedAssert [as deepEqual] (node_modules/empower-core/lib/decorate.js:51:30)
at sample.program.del.then.catch (test/index.test.js:245:16)
at runMicrotasksCallback (internal/process/next_tick.js:58:5)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
npm ERR! Test failed. See above for more details.