houshengbo commented on a change in pull request #2592: Rename CliActivationResponse & CliActivation, and change them from inner classes to classes URL: https://github.com/apache/incubator-openwhisk/pull/2592#discussion_r132216431
########## File path: tests/src/test/scala/common/WskTestHelpers.scala ########## @@ -31,6 +31,55 @@ import spray.json._ import java.time.Instant /** + * An arbitrary response of a whisk action. Includes the result as a JsObject as the + * structure of "result" is not defined. + */ +case class activationResponse(result: Option[JsObject], status: String, success: Boolean) + +object activationResponse extends DefaultJsonProtocol { + implicit val serdes = jsonFormat3(activationResponse.apply) +} + +/** + * Activation record as it is returned by the CLI. + */ + case class activationResult ( + activationId: String, + logs: Option[List[String]], + response: activationResponse, + start: Instant, + end: Option[Instant], // This field is optional in responses of REST calls. + duration: Option[Long], // This field is optional in responses of REST calls. Review comment: When we try to access the information of activation, sometimes the activation only has start available, no end or duration. In this situation, CLI will fill in end and duration with some default values, while REST response will have them missing. When we to convertTo[activationResponse], there is no problem for CLI response, cos they will have values anyway. However, if we convert the http response into activationResponse, we need to tolerate end and duration missing. That is why they are optional. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services