diff --git a/tests/src/actionContainers/ActionContainer.scala b/tests/src/actionContainers/ActionContainer.scala
index 4366c5ddd58b61693440629c1e4f421850668aa3..d8bc7bf8150a48bf247b8fe7d3f63d301cd967d9 100644
--- a/tests/src/actionContainers/ActionContainer.scala
+++ b/tests/src/actionContainers/ActionContainer.scala
@@ -34,6 +34,7 @@ import scala.util.Try
 
 import org.scalatest.FlatSpec
 import org.scalatest.Matchers
+import akka.actor.ActorSystem
 
 import common.WhiskProperties
 import spray.json.JsObject
@@ -118,7 +119,7 @@ object ActionContainer {
     def filterSentinel(str: String) = str.replaceAll(sentinel, "").trim
 
     def withContainer(imageName: String, environment: Map[String, String] = Map.empty)(
-        code: ActionContainer => Unit): (String, String) = {
+        code: ActionContainer => Unit)(implicit actorSystem: ActorSystem): (String, String) = {
         val rand = { val r = Random.nextInt; if (r < 0) -r else r }
         val name = imageName.toLowerCase.replaceAll("""[^a-z]""", "") + rand
         val envArgs = environment.toSeq.map {
@@ -136,8 +137,8 @@ object ActionContainer {
 
         // ...we create an instance of the mock container interface...
         val mock = new ActionContainer {
-            def init(value: JsValue) = syncPost(s"$ip:8080", "/init", value)
-            def run(value: JsValue) = syncPost(s"$ip:8080", "/run", value)
+            def init(value: JsValue) = syncPost(ip, 8080, "/init", value)
+            def run(value: JsValue) = syncPost(ip, 8080, "/run", value)
         }
 
         try {
@@ -153,14 +154,31 @@ object ActionContainer {
         }
     }
 
-    private def syncPost(host: String, endPoint: String, content: JsValue): (Int, Option[JsObject]) = {
-        import whisk.common.HttpUtils
-        val connection = HttpUtils.makeHttpClient(30000, true)
-        val (code, bytes) = new HttpUtils(connection, host).dopost(endPoint, content, Map.empty)
-        val str = new java.lang.String(bytes)
-        val json = Try(str.parseJson.asJsObject).toOption
-        Try { connection.close() }
-        (code, json)
+    private def syncPost(host: String, port: Int, endPoint: String, content: JsValue)(
+        implicit actorSystem: ActorSystem): (Int, Option[JsObject]) = {
+        import whisk.common.NewHttpUtils
+
+        import akka.http.scaladsl.model._
+        import akka.http.scaladsl.marshalling._
+        import akka.http.scaladsl.unmarshalling._
+        import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
+        import akka.stream.ActorMaterializer
+
+        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 (
+            entity <- Marshal(content).to[MessageEntity];
+            request = HttpRequest(method = HttpMethods.POST, uri = uri, entity = entity);
+            response <- NewHttpUtils.singleRequest(request, 30.seconds, retryOnTCPErrors = true);
+            responseBody <- Unmarshal(response.entity).to[String]
+        ) yield (response.status.intValue, Try(responseBody.parseJson.asJsObject).toOption)
+
+        Await.result(f, 1.minute)
     }
 
     private class ActionContainerImpl() extends ActionContainer {
diff --git a/tests/src/actionContainers/ActionProxyContainerTests.scala b/tests/src/actionContainers/ActionProxyContainerTests.scala
index 7b32a716e00c99c58d9a593a5bd33cfb327e50b7..ba0fd3b79476f0002157f03c13d6d1b6b5765196 100644
--- a/tests/src/actionContainers/ActionProxyContainerTests.scala
+++ b/tests/src/actionContainers/ActionProxyContainerTests.scala
@@ -26,8 +26,10 @@ import spray.json.JsObject
 import spray.json.JsString
 import spray.json.JsArray
 
+import common.WskActorSystem
+
 @RunWith(classOf[JUnitRunner])
-class ActionProxyContainerTests extends BasicActionRunnerTests {
+class ActionProxyContainerTests extends BasicActionRunnerTests with WskActorSystem {
 
     override def withActionContainer(env: Map[String, String] = Map.empty)(code: ActionContainer => Unit) = {
         withContainer("openwhisk/dockerskeleton", env)(code)
diff --git a/tests/src/actionContainers/DockerExampleContainerTests.scala b/tests/src/actionContainers/DockerExampleContainerTests.scala
index d4ac399e6c8693edf97f9fa3547b48c1266a2d38..1dbcf7eff6359e87a6c8ecfa76234d0cf5f5e53b 100644
--- a/tests/src/actionContainers/DockerExampleContainerTests.scala
+++ b/tests/src/actionContainers/DockerExampleContainerTests.scala
@@ -24,8 +24,10 @@ import spray.json.JsNumber
 import spray.json.JsObject
 import spray.json.JsString
 
+import common.WskActorSystem
+
 @RunWith(classOf[JUnitRunner])
-class DockerExampleContainerTests extends ActionProxyContainerTestUtils {
+class DockerExampleContainerTests extends ActionProxyContainerTestUtils with WskActorSystem {
 
     def withPythonContainer(code: ActionContainer => Unit) = withContainer("openwhisk/example")(code)
 
diff --git a/tests/src/actionContainers/JavaActionContainerTests.scala b/tests/src/actionContainers/JavaActionContainerTests.scala
index 101a420a8f268df72a5cc96fafdba009688dbfec..086fbc6ed0cb0839870ae9b3d71fe711a3bf8743 100644
--- a/tests/src/actionContainers/JavaActionContainerTests.scala
+++ b/tests/src/actionContainers/JavaActionContainerTests.scala
@@ -23,11 +23,12 @@ import org.scalatest.junit.JUnitRunner
 import spray.json._
 
 import ActionContainer.withContainer
+import common.WskActorSystem
 
 import collection.JavaConverters._
 
 @RunWith(classOf[JUnitRunner])
-class JavaActionContainerTests extends FlatSpec with Matchers {
+class JavaActionContainerTests extends FlatSpec with Matchers with WskActorSystem {
 
     // Helpers specific to javaaction
     def withJavaContainer(code: ActionContainer => Unit) = withContainer("whisk/javaaction")(code)
diff --git a/tests/src/actionContainers/NodeJsActionContainerTests.scala b/tests/src/actionContainers/NodeJsActionContainerTests.scala
index 5cf3c8c438663eab2ba18759031da817b178cff0..4ed7a8d99850f42b6428631272499801190ade30 100644
--- a/tests/src/actionContainers/NodeJsActionContainerTests.scala
+++ b/tests/src/actionContainers/NodeJsActionContainerTests.scala
@@ -19,10 +19,11 @@ import org.junit.runner.RunWith
 import org.scalatest.junit.JUnitRunner
 
 import ActionContainer.withContainer
+import common.WskActorSystem
 import spray.json._
 
 @RunWith(classOf[JUnitRunner])
-class NodeJsActionContainerTests extends BasicActionRunnerTests {
+class NodeJsActionContainerTests extends BasicActionRunnerTests with WskActorSystem {
 
     lazy val nodejsContainerImageName = "whisk/nodejsaction"
 
diff --git a/tests/src/actionContainers/PythonActionContainerTests.scala b/tests/src/actionContainers/PythonActionContainerTests.scala
index 3ce9d742cf0fc23e4c7419447052d28b13beab8a..32f3b6d21bd9c2149fa8a14a60977193b63a26fc 100644
--- a/tests/src/actionContainers/PythonActionContainerTests.scala
+++ b/tests/src/actionContainers/PythonActionContainerTests.scala
@@ -22,9 +22,10 @@ import org.scalatest.junit.JUnitRunner
 import ActionContainer.withContainer
 import spray.json.JsObject
 import spray.json.JsString
+import common.WskActorSystem
 
 @RunWith(classOf[JUnitRunner])
-class PythonActionContainerTests extends BasicActionRunnerTests {
+class PythonActionContainerTests extends BasicActionRunnerTests with WskActorSystem {
 
     override def withActionContainer(env: Map[String, String] = Map.empty)(code: ActionContainer => Unit) = {
         withContainer("whisk/pythonaction", env)(code)
diff --git a/tests/src/actionContainers/SwiftActionContainerTests.scala b/tests/src/actionContainers/SwiftActionContainerTests.scala
index b586cd0d86edcc85b348caaf0be248beccf50947..44b15f5caf135dc04d1ea2b733e40350ee624320 100644
--- a/tests/src/actionContainers/SwiftActionContainerTests.scala
+++ b/tests/src/actionContainers/SwiftActionContainerTests.scala
@@ -23,8 +23,10 @@ import ActionContainer.withContainer
 import spray.json.JsObject
 import spray.json.JsString
 
+import common.WskActorSystem
+
 @RunWith(classOf[JUnitRunner])
-class SwiftActionContainerTests extends BasicActionRunnerTests {
+class SwiftActionContainerTests extends BasicActionRunnerTests with WskActorSystem {
 
     // note: "out" will likely not be empty in some swift build as the compiler
     // prints status messages and there doesn't seem to be a way to quiet them