This is an automated email from the ASF dual-hosted git repository.

dubeejw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
     new bf4a411  Add test cases to ensure raw encoding of entity does not 
modify JSON format. (#2798)
bf4a411 is described below

commit bf4a41148c5c1073b398fd64c7df0dbbbee7f263
Author: rodric rabbah <rod...@gmail.com>
AuthorDate: Mon Sep 25 10:42:05 2017 -0400

    Add test cases to ensure raw encoding of entity does not modify JSON 
format. (#2798)
---
 .../core/controller/test/WebActionsApiTests.scala  | 45 ++++++++++++----------
 1 file changed, 24 insertions(+), 21 deletions(-)

diff --git 
a/tests/src/test/scala/whisk/core/controller/test/WebActionsApiTests.scala 
b/tests/src/test/scala/whisk/core/controller/test/WebActionsApiTests.scala
index 3879c80..3a55d9b 100644
--- a/tests/src/test/scala/whisk/core/controller/test/WebActionsApiTests.scala
+++ b/tests/src/test/scala/whisk/core/controller/test/WebActionsApiTests.scala
@@ -66,7 +66,6 @@ import whisk.http.Messages
  * These tests exercise a fresh instance of the service object in memory -- 
these
  * tests do NOT communication with a whisk deployment.
  *
- *
  * @Idioglossia
  * "using Specification DSL to write unit tests, as in should, must, not, be"
  * "using Specs2RouteTest DSL to chain HTTP requests for unit testing, as in 
~>"
@@ -688,8 +687,8 @@ trait WebActionsApiBaseTests extends ControllerTestCommon 
with BeforeAndAfterEac
             // ensure response is pretty printed
             responseAs[String] shouldBe {
               """{
-                                  |  "foobar": "foobar"
-                                  |}""".stripMargin
+                |  "foobar": "foobar"
+                |}""".stripMargin
             }
           }
         }
@@ -1563,26 +1562,30 @@ trait WebActionsApiBaseTests extends 
ControllerTestCommon with BeforeAndAfterEac
 
     it should s"invoke raw action ensuring body and query arguments are set 
properly (auth? ${creds.isDefined})" in {
       implicit val tid = transid()
-      val str = "1,2,3"
-      invocationsAllowed = 1
 
       val queryString = "key1=value1&key2=value2"
-      Post(
-        s"$testRoutePath/$systemId/proxy/raw_export_c.json?$queryString",
-        HttpEntity(ContentTypes.`application/json`, str)) ~> 
Route.seal(routes(creds)) ~> check {
-        status should be(OK)
-        val response = responseAs[JsObject]
-        response shouldBe JsObject(
-          "pkg" -> s"$systemId/proxy".toJson,
-          "action" -> "raw_export_c".toJson,
-          "content" -> metaPayload(
-            Post.method.name.toLowerCase,
-            Map(webApiDirectives.body -> Base64.getEncoder.encodeToString {
-              str.getBytes
-            }.toJson, webApiDirectives.query -> 
queryString.toJson).toJson.asJsObject,
-            creds,
-            pkgName = "proxy",
-            headers = List(`Content-Type`(ContentTypes.`application/json`))))
+      Seq(
+        "1,2,3",
+        JsObject("a" -> "A".toJson, "b" -> "B".toJson).prettyPrint,
+        JsObject("a" -> "A".toJson, "b" -> "B".toJson).compactPrint).foreach { 
str =>
+        Post(
+          s"$testRoutePath/$systemId/proxy/raw_export_c.json?$queryString",
+          HttpEntity(ContentTypes.`application/json`, str)) ~> 
Route.seal(routes(creds)) ~> check {
+          status should be(OK)
+          invocationsAllowed += 1
+          val response = responseAs[JsObject]
+          response shouldBe JsObject(
+            "pkg" -> s"$systemId/proxy".toJson,
+            "action" -> "raw_export_c".toJson,
+            "content" -> metaPayload(
+              Post.method.name.toLowerCase,
+              Map(webApiDirectives.body -> Base64.getEncoder.encodeToString {
+                str.getBytes
+              }.toJson, webApiDirectives.query -> 
queryString.toJson).toJson.asJsObject,
+              creds,
+              pkgName = "proxy",
+              headers = List(`Content-Type`(ContentTypes.`application/json`))))
+        }
       }
     }
 

-- 
To stop receiving notification emails like this one, please contact
['"commits@openwhisk.apache.org" <commits@openwhisk.apache.org>'].

Reply via email to