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 f7efbb6 Sanitize test subjects before tests. (#3302) f7efbb6 is described below commit f7efbb6cf09563009b71486158b9232433439660 Author: rodric rabbah <rod...@gmail.com> AuthorDate: Fri Mar 2 17:30:38 2018 -0500 Sanitize test subjects before tests. (#3302) * Sanitize test subjects before tests. --- tests/src/test/scala/common/WskTestHelpers.scala | 5 ++-- tests/src/test/scala/limits/ThrottleTests.scala | 30 ++++++++++++++++-------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/tests/src/test/scala/common/WskTestHelpers.scala b/tests/src/test/scala/common/WskTestHelpers.scala index 5be175c..57a5442 100644 --- a/tests/src/test/scala/common/WskTestHelpers.scala +++ b/tests/src/test/scala/common/WskTestHelpers.scala @@ -31,6 +31,7 @@ import spray.json._ import spray.json.DefaultJsonProtocol._ import TestUtils.RunResult +import TestUtils.SUCCESS_EXIT import TestUtils.CONFLICT import akka.http.scaladsl.model.StatusCodes @@ -287,10 +288,10 @@ trait WskTestHelpers extends Matchers { WskProps(namespace = newUser, authKey = wskadmin.cli(Seq("user", "create", newUser)).stdout.trim) } - def disposeAdditionalTestSubject(subject: String): Unit = { + def disposeAdditionalTestSubject(subject: String, expectedExitCode: Int = SUCCESS_EXIT): Unit = { val wskadmin = new RunWskAdminCmd {} withClue(s"failed to delete temporary subject $subject") { - wskadmin.cli(Seq("user", "delete", subject)).stdout should include("Subject deleted") + wskadmin.cli(Seq("user", "delete", subject), expectedExitCode).stdout should include("Subject deleted") } } } diff --git a/tests/src/test/scala/limits/ThrottleTests.scala b/tests/src/test/scala/limits/ThrottleTests.scala index 9aee3fb..efeb909 100644 --- a/tests/src/test/scala/limits/ThrottleTests.scala +++ b/tests/src/test/scala/limits/ThrottleTests.scala @@ -25,14 +25,12 @@ import scala.collection.parallel.immutable.ParSeq import scala.concurrent.Future import scala.concurrent.Promise import scala.concurrent.duration._ - import org.junit.runner.RunWith import org.scalatest.BeforeAndAfterAll import org.scalatest.FlatSpec import org.scalatest.Matchers import org.scalatest.concurrent.ScalaFutures import org.scalatest.junit.JUnitRunner - import common.RunWskAdminCmd import common.TestHelpers import common.TestUtils @@ -48,6 +46,8 @@ import whisk.http.Messages._ import whisk.utils.ExecutionContextFactory import whisk.utils.retry +import scala.util.{Success, Try} + protected[limits] trait LocalHelper { def prefix(msg: String) = msg.substring(0, msg.indexOf('(')) } @@ -298,10 +298,26 @@ class NamespaceSpecificThrottleTests with BeforeAndAfterAll with LocalHelper { + val defaultAction = Some(TestUtils.getTestActionFilename("hello.js")) + val wskadmin = new RunWskAdminCmd {} val wsk = new WskRest - val defaultAction = Some(TestUtils.getTestActionFilename("hello.js")) + def sanitizeNamespaces(namespaces: Seq[String], expectedExitCode: Int = SUCCESS_EXIT): Unit = { + val deletions = namespaces.map { ns => + Try { + disposeAdditionalTestSubject(ns, expectedExitCode) + withClue(s"failed to delete temporary limits for $ns") { + wskadmin.cli(Seq("limits", "delete", ns), expectedExitCode) + } + } + } + if (expectedExitCode == SUCCESS_EXIT) every(deletions) shouldBe a[Success[_]] + } + + sanitizeNamespaces( + Seq("zeroSubject", "zeroConcSubject", "oneSubject", "oneSequenceSubject"), + expectedExitCode = DONTCARE_EXIT) // Create a subject with rate limits == 0 val zeroProps = getAdditionalTestSubject("zeroSubject") @@ -330,13 +346,7 @@ class NamespaceSpecificThrottleTests wskadmin.cli(Seq("limits", "set", oneSequenceProps.namespace, "--invocationsPerMinute", "1", "--firesPerMinute", "1")) override def afterAll() = { - Seq(zeroProps, zeroConcProps, oneProps, oneSequenceProps).foreach { wp => - val ns = wp.namespace - disposeAdditionalTestSubject(ns) - withClue(s"failed to delete temporary limits for $ns") { - wskadmin.cli(Seq("limits", "delete", ns)) - } - } + sanitizeNamespaces(Seq(zeroProps, zeroConcProps, oneProps, oneSequenceProps).map(_.namespace)) } behavior of "Namespace-specific throttles" -- To stop receiving notification emails like this one, please contact dube...@apache.org.