diff --git a/tests/build.gradle b/tests/build.gradle
index 3a07e70..b33e2c6 100644
--- a/tests/build.gradle
+++ b/tests/build.gradle
@@ -52,7 +52,6 @@
     compile 'com.typesafe.akka:akka-testkit_2.11:2.4.16'
     compile 'com.google.code.gson:gson:2.3.1'
     compile 'org.scalamock:scalamock-scalatest-support_2.11:3.4.2'
-    compile 'com.typesafe.play:play-ws_2.11:2.5.11'
 
     compile project(':common:scala')
     compile project(':core:controller')
diff --git a/tests/src/test/scala/actionContainers/ActionContainer.scala b/tests/src/test/scala/actionContainers/ActionContainer.scala
index 978114d..e10c792 100644
--- a/tests/src/test/scala/actionContainers/ActionContainer.scala
+++ b/tests/src/test/scala/actionContainers/ActionContainer.scala
@@ -31,7 +31,6 @@
 import scala.sys.process.ProcessLogger
 import scala.sys.process.stringToProcess
 import scala.util.Random
-import scala.util.Try
 
 import org.apache.commons.lang3.StringUtils
 import org.scalatest.FlatSpec
@@ -159,26 +158,8 @@
         }
     }
 
-    private def syncPost(host: String, port: Int, endPoint: String, content: JsValue)(
-        implicit actorSystem: ActorSystem): (Int, Option[JsObject]) = {
-        import akka.http.scaladsl.model._
-        import akka.http.scaladsl.unmarshalling._
-        import akka.stream.ActorMaterializer
-        import common.AkkaHttpUtils
-
-        implicit val materializer = ActorMaterializer()
-
-        val uri = Uri(
-            scheme = "http",
-            authority = Uri.Authority(host = Uri.Host(host), port = port),
-            path = Uri.Path(endPoint))
-
-        val f = for (
-            response <- AkkaHttpUtils.singleRequest(uri.toString(), content, 90.seconds, retryOnTCPErrors = true);
-            responseBody <- Unmarshal(response.body).to[String]
-        ) yield (response.status.intValue, Try(responseBody.parseJson.asJsObject).toOption)
-
-        Await.result(f, 90.seconds)
+    private def syncPost(host: String, port: Int, endPoint: String, content: JsValue): (Int, Option[JsObject]) = {
+        whisk.core.container.HttpUtils.post(host, port, endPoint, content)
     }
 
     private class ActionContainerImpl() extends ActionContainer {
