watson-developer-cloud / botkit-middleware

A middleware to connect Watson Conversation Service to different chat channels using Botkit
https://www.npmjs.com/package/botkit-middleware-watson
Apache License 2.0
207 stars 255 forks source link

feat: Assign watsonResponse.output.error to message.watsonError #180

Closed Naktibalda closed 5 years ago

Naktibalda commented 5 years ago

When I entered invalid spel expression using JSON editor my bot didn't respond, but in debug mode I noticed that it returned error message in response.output.error field which isn't checked by middleware

{
  "output": {
    "generic": [],
    "text": [],
    "nodes_visited": [
      "node_5_1549449420895"
    ],
    "error": "Error when updating context with context of dialog node id [node_5_1549449420895]. Dialog Node context is [{\"lastIntent\":\"Track Order <? @ups_tracking_number.literal.replace(/ /g, '') ?>\",\"orderNumber\":\"<? @ups_tracking_number.literal.replace(/ /g, '') ?>\"}].\nSpEL syntax error: Expression [ @ups_tracking_number.literal.replace(/ /g, '') ] converted to [ entities['ups_tracking_number']?.literal.replace(/ /g, '') ] at position 50: EL1070E: Problem parsing left operand\n",
    "log_messages": [
      {
        "level": "err",
        "msg": "Error when updating context with context of dialog node id [node_5_1549449420895]. Dialog Node context is [{\"lastIntent\":\"Track Order <? @ups_tracking_number.literal.replace(/ /g, '') ?>\",\"orderNumber\":\"<? @ups_tracking_number.literal.replace(/ /g, '') ?>\"}].\nSpEL syntax error: Expression [ @ups_tracking_number.literal.replace(/ /g, '') ] converted to [ entities['ups_tracking_number']?.literal.replace(/ /g, '') ] at position 50: EL1070E: Problem parsing left operand\n",
        "node_id": "node_5_1549449420895",
        "node_title": "OrderNumberProvided"
      }
    ]
  },
}

This change assigns output.error to message.watsonError so it will be handled in the same way as other errors by bot code.

codecov-io commented 5 years ago

Codecov Report

Merging #180 into master will decrease coverage by 1.23%. The diff coverage is 33.33%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #180      +/-   ##
==========================================
- Coverage    78.5%   77.27%   -1.24%     
==========================================
  Files           2        2              
  Lines         107      110       +3     
  Branches       22       23       +1     
==========================================
+ Hits           84       85       +1     
- Misses         19       21       +2     
  Partials        4        4
Impacted Files Coverage Δ
lib/index.js 63.76% <33.33%> (-1.39%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 62947d9...5a5d90b. Read the comment docs.

watson-github-bot commented 5 years ago

:tada: This PR is included in version 2.1.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: