Hello, I am in the process of cleaning the Golang runtime, and I am 
implementing the tests in the trait BasicActionRunnerTests.

In the process, I am cleaning a number of things. 
I have now a "stupid" problem.

I would like to change (as suggested by Carlos) the signature of an action from 
the current

   func Main(event json.RawMessage) (json.RawMessage, error) 

to

  func Main(event map[string]interface{}) map[string]interface{}

this express better the fact the input and the output are expected to be 
object, and is also saves a "json.Marshal" and "json.Unmarshal" in the main. It 
is helpful for simple cases.

However, I cannot do it! Because of this (mandatory) test for runtimes:  
"testNotReturningJson"

The test checks that the runtime can reject an action that returns something 
like a  simple string and not a json object ( BTW, a string IS valid JSON, so 
test is not named properly: should be: testNotRetuningObjectJson) 

In any case changing the signature I do not have any more any way to have a 
misbehaving action that produces something that is not valid object, because if 
I force the action to return a map of strings, it will be always serialized 
back to a json object. 

Hence I have no way to pass this test!  What I can do?
 
-- 
  Michele Sciabarra
  [email protected]

Reply via email to