oops sorry, blame the phone autocorrect meant Michele not Michael It’s too early, I need my coffee ☕️ On Sat, Sep 1, 2018 at 8:09 AM Carlos Santana <[email protected]> wrote:
> Hi Michael > > I’m glad to hear your working on this. > > Good observation if Json mean Json object or a Json value. > > I think me an others do this when we refer to Json we mean Json object. > Now I would keep this in the back of my head. > > Like Rodric said is OK to skip this particular test in case by case. > > Maybe we can add a note in the doc or code to make it clear it for the > next new runtime > > I will help review the changes, let me know if we need changes first in > the go client first. > > — Carlos > > > On Sat, Sep 1, 2018 at 7:31 AM Michele Sciabarra <[email protected]> > wrote: > >> Definitely yes :) thx!!! >> >> -- >> Michele Sciabarra >> [email protected] >> >> ----- Original message ----- >> From: Rodric Rabbah <[email protected]> >> To: [email protected] >> Subject: Re: A problem in changing the signature of the action for the >> Golang runtime >> Date: Sat, 1 Sep 2018 05:31:57 -0400 >> >> Hey Michele >> >> The particular test you mention has a bypass feature for languages which >> prevent you from returning invalid json (statically typed ones). You can >> set the skip flag for the test and you’re done. The swift runtime does this >> for example. In java I also skipped this test but added a second explicit >> test where I returned null and checked the error handling accordingly. >> >> See here for swift test bypass >> >> https://github.com/apache/incubator-openwhisk-runtime-swift/blob/2b9bad5b2cc1e273fc61109a6d96c742578cbf1a/tests/src/test/scala/runtime/actionContainers/SwiftActionContainerTests.scala#L48 >> >> And here for java null test >> https:// >> .com/apache/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala#L317 >> https://g:// >> ithub.com/apache/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala#L317ahttps://github.com/apache/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala#L317che/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala#L317 >> <http://ithub.com/apache/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala#L317ahttps://github.com/apache/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala%23L317che/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala%23L317> >> >> https://github.com/apache/incubator-openwhisk-runtime-java/blob/7cd17899c4a06198fa0d783df8520dfe92352954/tests/src/test/scala/actionContainers/JavaActionContainerTests.scala#L317 >> >> >> Does this help? >> >> -r >> >> > On Sep 1, 2018, at 5:24 AM, Michele Sciabarra <[email protected]> >> wrote: >> > >> > 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] >> >
