INFO:root:GET http://localhost:8081/recent?limit=3
[{"spotify_id":"7rZ5VNIFZo8nC8XSSCvv7K","title":"Into the Sky","artists":["SawanoHiroyuki[nZk]:Tielle"],"played_at":"2022-07-27T08:17:31.056Z","Album":{"spotify_id":"3ncBgCOeYrUJ9hGmySHiUb","name":"2V-Alk"}},{"spotify_id":"7rZ5VNIFZo8nC8XSSCvv7K","title":"Into the Sky","artists":["SawanoHiroyuki[nZk]:Tielle"],"played_at":"2022-07-26T06:05:58.542Z","Album":{"spotify_id":"3ncBgCOeYrUJ9hGmySHiUb","name":"2V-Alk"}},{"spotify_id":"00IREbRMZctdMtu6vSBtdT","title":"パパパ","artists":["斉藤 朱夏"],"played_at":"2022-07-26T04:57:42.15Z","Album":{"spotify_id":"44Jbo1p4sZrPXoNE1ByTyl","name":"パッチワーク"}}]
Completed 200 in 363ms$
Test failed to run
Agent error log
127.0.0.1:33974: GET http://localhost:8081/recent?limit=3
<< 200 OK 618b
Addon error: Traceback (most recent call last):
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/intercept_handler.py", line 68, in response
return handle_response_test(context)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/handle_test_service.py", line 31, in handle_response_test
handle_request_mock_generic(
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/handle_mock_service.py", line 80, in handle_request_mock_generic
res = handle_success(context) or res
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/handle_test_service.py", line 35, in <lambda>
success=lambda mock_context: __handle_mock_success(TestContext(context, mock_context))
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/handle_test_service.py", line 49, in __handle_mock_success
passed, log = test(test_context)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/test/test_service.py", line 43, in test
response_matches, log = test_default(context, match_handlers)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/test/test_service.py", line 70, in test_default
expected_content: FuzzyContent = context.rewritten_expected_response_content
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/test/context.py", line 150, in rewritten_expected_response_content
rewrite_params(_decoded_expected_response_content, aliased_response_param_names, id_to_alias_map, alias_resolver)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/app/proxy/replay/rewrite_params_service.py", line 63, in rewrite_params
jmespath.search(
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/jmespath.py", line 16, in search
return jmespath.search(query, o, options)
File "/home/user/.local/lib/python3.8/site-packages/jmespath/__init__.py", line 12, in search
return parser.Parser().parse(expression).search(data, options=options)
File "/home/user/.local/lib/python3.8/site-packages/jmespath/parser.py", line 509, in search
result = interpreter.visit(self.parsed, value)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/visitor.py", line 105, in visit
return method(node, *args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/visitor.py", line 388, in visit_projection
current = self.visit(child, element)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/visitor.py", line 105, in visit
return method(node, *args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/visitor.py", line 232, in visit_field
self.on_visit_leaf(value, node['value']) # ADDED
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/visitor.py", line 193, in on_visit_leaf
self.replace(obj, key)
File "/home/user/.local/lib/python3.8/site-packages/stoobly_agent/lib/utils/visitor.py", line 212, in replace
obj[key] = self.replacements[replacement_index]
TypeError: list indices must be integers or slices, not NoneType
Version
Output of
stoobly-agent test ...
Agent error log
Then the test report gets marked as passing