Skip to main content
Panther Knowledge Base

Panther Analysis Tool error when uploading tests: cannot unmarshal map or seq into string


When trying to upload a detection along with its mocks, I see an unmarshalling error like the following: 

[INFO]: Uploading items to Panther
[ERROR]: failed to upload to backend: {'statusCode': 400, 'headers': {}, 'multiValueHeaders': {}, 'body': '{"issues":[{"path":"custom_detection.yml","errorMessage":"yaml: unmarshal errors:\\n  line 42: cannot unmarshal !!seq into string\\n  line 64: cannot unmarshal !!map into string"}]}'}


The tests pass with no problem, but the upload to Panther fails.


To resolve this issue, make sure your mock's returnValue is wrapped in a string. This can be done in multiple ways, including the following:

1. Add >- (a greater-than sign, and a dash/minus sign) at the beginning of the value of returnValue like this: 

    - objectName: get_string_set
      returnValue: >-

2. Put a double-quote at the beginning and end of the value of returnValue like this:

      - objectName: get_string_set
        returnValue: "[ 'string-1', 'string-2', 'string-3', 'string-4']"


This issue occurs when a mock's returnValue is not a string.



  • Was this article helpful?