Closed GiritharanR closed 7 years ago
@GiritharanR Thanks very much for reporting this!
Does this happen for all kinds of transactions or just for some with certain data or structure? Could you disclose how the blueprint looks like for the transaction you are trying to force to fail?
It is happening for all transactions. When I am forcefully make it fail, i got this exception.
@GiritharanR And how does your blueprint look like? Could you share at least anonymized structure of it?
Please find the example 1 below,
## Example Collection [/]
Description of the collection
### Get all [GET /{?qp1,qp2}]
+ Parameters
+ qp1: 2 (string,required) - decsription
+ qp2: 3 (string, required) - description
+ Request 'sample 1' (application/vnd.api+json)
+ Response 400 (application/vnd.api+json; charset=UTF-8)
{
"jsonapi": {
"version": "1.6"
},
"data": [
{
"id": "1",
"value":"value1"
},
{
"id": "2",
"value":"value2"
}
]
}
@honzajavorek - Added additional logs while running the dredd in command line, It may be useful to debug deeper
/usr/lib/node_modules/dredd/lib/reporters/apiary-reporter.js:159
if ((base = data['resultData']['result'])['general'] == null) {
^
TypeError: Cannot read property 'general' of undefined
at EventEmitter.<anonymous> (/usr/lib/node_modules/dredd/lib/reporters/apiary-reporter.js:159:50)
at emitTwo (events.js:105:20)
at EventEmitter.emit (events.js:185:7)
at TransactionRunner.emitError (/usr/lib/node_modules/dredd/lib/transaction-runner.js:164:41)
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:140:21
at /usr/lib/node_modules/dredd/node_modules/async/lib/async.js:246:17
at iterate (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:146:13)
at async.eachSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:162:9)
at _asyncMap (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:245:13)
at Object.mapSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:228:23)
at Object.async.timesSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:1048:22)
at TransactionRunner.runHooksForData (/usr/lib/node_modules/dredd/lib/transaction-runner.js:146:20)
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:389:32
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:147:16
at /usr/lib/node_modules/dredd/node_modules/async/lib/async.js:251:17
at async.eachSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:142:20)
at _asyncMap (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:245:13)
at Object.mapSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:228:23)
at Object.async.timesSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:1048:22)
at TransactionRunner.runHooksForData (/usr/lib/node_modules/dredd/lib/transaction-runner.js:146:20)
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:388:30
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:590:16
at proxy (/usr/lib/node_modules/dredd/node_modules/gavel/lib/validate.js:18:10)
at Object.validate (/usr/lib/node_modules/dredd/node_modules/gavel/lib/validate.js:60:10)
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:549:20
at proxy (/usr/lib/node_modules/dredd/node_modules/gavel/lib/validate.js:18:10)
at Object.isValid (/usr/lib/node_modules/dredd/node_modules/gavel/lib/validate.js:32:10)
at TransactionRunner.validateTransaction (/usr/lib/node_modules/dredd/lib/transaction-runner.js:535:18)
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:504:30
at TransactionRunner.runHooksForData (/usr/lib/node_modules/dredd/lib/transaction-runner.js:150:14)
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:503:28
at /usr/lib/node_modules/dredd/lib/transaction-runner.js:147:16
at /usr/lib/node_modules/dredd/node_modules/async/lib/async.js:251:17
at async.eachSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:142:20)
at _asyncMap (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:245:13)
at Object.mapSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:228:23)
at Object.async.timesSeries (/usr/lib/node_modules/dredd/node_modules/async/lib/async.js:1048:22)
at TransactionRunner.runHooksForData (/usr/lib/node_modules/dredd/lib/transaction-runner.js:146:20)
at IncomingMessage.<anonymous> (/usr/lib/node_modules/dredd/lib/transaction-runner.js:502:26)
at IncomingMessage.g (events.js:273:16)
at emitNone (events.js:85:20)
at IncomingMessage.emit (events.js:179:7)
at endReadableNT (_stream_readable.js:906:12)
at nextTickCallbackWith2Args (node.js:475:9)
at process._tickCallback (node.js:389:17)
@GiritharanR Thank you very, very much! This is an excellent report. I'll do my best to investigate and find a fix. :hammer:
@GiritharanR Could you please upgrade to the latest Dredd and try out if this is still an issue? There were related fixes in #648.
@GiritharanR Feel free to re-open this if you experience any issues 🙂 Thanks for reporting this and helping to debug it! 👍
I am executing the apiary documentation using dredd in npm.
When I am trying to fail the transaction based on some conditions in hooks, the following exception occured and the reports aren't generated in apiary.io.
Hooks transaction failure code looks like below
transaction.fail = true;
Error
error: TypeError: Converting circular structure to JSON at Object.stringify (native) at ApiaryReporter._performRequestAsync (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/reporters/apiary-reporter.js:287:21) at ApiaryReporter._performRequestAsync (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/reporters/apiary-reporter.js:3:57) at EventEmitter. (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/reporters/apiary-reporter.js:140:22)
at emitTwo (events.js:105:20)
at EventEmitter.emit (events.js:185:7)
at TransactionRunner.emitResult (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:424:38)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:108:34
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:207:16
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:251:17
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:154:25
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:248:21
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:157:24
at TransactionRunner.runHook (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:315:9)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:151:28
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:246:17
at iterate (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:146:13)
at async.eachSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:162:9)
at _asyncMap (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:245:13)
at Object.mapSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:228:23)
at Object.async.timesSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:1048:22)
at TransactionRunner.runHooksForData (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:206:20)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:104:32
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:207:16
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:251:17
at async.eachSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:142:20)
at _asyncMap (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:245:13)
at Object.mapSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:228:23)
at Object.async.timesSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:1048:22)
at TransactionRunner.runHooksForData (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:206:20)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:100:30
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:652:16
at proxy (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/gavel/lib/validate.js:18:10)
at Object.validate (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/gavel/lib/validate.js:60:10)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:611:20
at proxy (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/gavel/lib/validate.js:18:10)
at Object.isValid (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/gavel/lib/validate.js:32:10)
at TransactionRunner.validateTransaction (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:597:18)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:559:28
at TransactionRunner.runHooksForData (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:210:14)
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:555:26
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:207:16
at /home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:251:17
at async.eachSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:142:20)
at _asyncMap (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:245:13)
at Object.mapSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:228:23)
at Object.async.timesSeries (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/async/lib/async.js:1048:22)
at TransactionRunner.runHooksForData (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:206:20)
at IncomingMessage. (/home/giritharan/git/bg-core-addresses/src/test/node/node_modules/dredd/lib/transaction-runner.js:551:24)
at IncomingMessage.g (events.js:273:16)
at emitNone (events.js:85:20)
at IncomingMessage.emit (events.js:179:7)
at endReadableNT (_stream_readable.js:906:12)
at nextTickCallbackWith2Args (node.js:475:9)
at process._tickCallback (node.js:389:17)