You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openwhisk.apache.org by GitBox <gi...@apache.org> on 2018/03/22 18:45:14 UTC

[GitHub] dubee closed pull request #254: Timestamp test improvement

dubee closed pull request #254: Timestamp test improvement
URL: https://github.com/apache/incubator-openwhisk-cli/pull/254
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/README.md b/README.md
index a80aee92..8ce63138 100644
--- a/README.md
+++ b/README.md
@@ -111,8 +111,8 @@ The build library understands most representations of most Operating Systems.
 Tests can be run using the Gradle script as well:
 
 ```
-$ ./gradlew goTests -PgoTags=unit
-$ ./gradlew goTests -PgoTags=native
+$ ./gradlew goTest -PgoTags=unit
+$ ./gradlew goTest -PgoTags=native
 ```
 
 Integration tests are best left to the Travis build as they depend on a fully
diff --git a/tests/src/test/scala/system/basic/WskBasicTests.scala b/tests/src/test/scala/system/basic/WskBasicTests.scala
index ac162d6b..27595784 100644
--- a/tests/src/test/scala/system/basic/WskBasicTests.scala
+++ b/tests/src/test/scala/system/basic/WskBasicTests.scala
@@ -39,6 +39,14 @@ import spray.json.pimpAny
 
 import whisk.http.Messages
 
+object WskCliTestHelpers {
+  /**
+    * Append the current timestamp in ms
+    */
+  def withTimestamp(text: String) = s"${text}-${System.currentTimeMillis}"
+
+}
+
 @RunWith(classOf[JUnitRunner])
 class WskBasicTests extends TestHelpers with WskTestHelpers {
 
@@ -46,11 +54,6 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
   val wsk = new Wsk
   val defaultAction = Some(TestCLIUtils.getTestActionFilename("hello.js"))
 
-  /**
-   * Append the current timestamp in ms
-   */
-  def withTimestamp(text: String) = s"${text}-${System.currentTimeMillis}"
-
   behavior of "Wsk CLI"
 
   it should "reject creating duplicate entity" in withAssetCleaner(wskprops) { (wp, assetHelper) =>
@@ -470,9 +473,9 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
   behavior of "Wsk Trigger CLI"
 
   it should "create, update, get, fire and list trigger" in withAssetCleaner(wskprops) { (wp, assetHelper) =>
-    val ruleName = withTimestamp("r1toa1")
-    val triggerName = withTimestamp("t1tor1")
-    val actionName = withTimestamp("a1")
+    val ruleName = WskCliTestHelpers.withTimestamp("r1toa1")
+    val triggerName = WskCliTestHelpers.withTimestamp("t1tor1")
+    val actionName = WskCliTestHelpers.withTimestamp("a1")
     val params = Map("a" -> "A".toJson)
     val ns = wsk.namespace.whois()
 
@@ -572,9 +575,9 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
   }
 
   it should "create, and fire a trigger using a parameter file" in withAssetCleaner(wskprops) {
-    val ruleName = withTimestamp("r1toa1")
-    val triggerName = withTimestamp("paramFileTrigger")
-    val actionName = withTimestamp("a1")
+    val ruleName = WskCliTestHelpers.withTimestamp("r1toa1")
+    val triggerName = WskCliTestHelpers.withTimestamp("paramFileTrigger")
+    val actionName = WskCliTestHelpers.withTimestamp("a1")
     val argInput = Some(TestUtils.getTestActionFilename("validInput2.json"))
 
     (wp, assetHelper) =>
@@ -640,9 +643,9 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
   }
 
   it should "create, and fire a trigger to ensure result is empty" in withAssetCleaner(wskprops) { (wp, assetHelper) =>
-    val ruleName = withTimestamp("r1toa1")
-    val triggerName = withTimestamp("emptyResultTrigger")
-    val actionName = withTimestamp("a1")
+    val ruleName = WskCliTestHelpers.withTimestamp("r1toa1")
+    val triggerName = WskCliTestHelpers.withTimestamp("emptyResultTrigger")
+    val actionName = WskCliTestHelpers.withTimestamp("a1")
 
     assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, _) =>
       trigger.create(triggerName)
@@ -694,11 +697,11 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
 
   it should "create and fire a trigger with a rule whose action has been deleted" in withAssetCleaner(wskprops) {
     (wp, assetHelper) =>
-      val ruleName1 = withTimestamp("r1toa1")
-      val ruleName2 = withTimestamp("r2toa2")
-      val triggerName = withTimestamp("t1tor1r2")
-      val actionName1 = withTimestamp("a1")
-      val actionName2 = withTimestamp("a2")
+      val ruleName1 = WskCliTestHelpers.withTimestamp("r1toa1")
+      val ruleName2 = WskCliTestHelpers.withTimestamp("r2toa2")
+      val triggerName = WskCliTestHelpers.withTimestamp("t1tor1r2")
+      val actionName1 = WskCliTestHelpers.withTimestamp("a1")
+      val actionName2 = WskCliTestHelpers.withTimestamp("a2")
       val ns = wsk.namespace.whois()
 
       assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, _) =>
@@ -926,9 +929,9 @@ class WskBasicTests extends TestHelpers with WskTestHelpers {
 
   it should "create a trigger, and fire a trigger to get its individual fields from an activation" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
-    val ruleName = withTimestamp("r1toa1")
-    val triggerName = withTimestamp("activationFields")
-    val actionName = withTimestamp("a1")
+    val ruleName = WskCliTestHelpers.withTimestamp("r1toa1")
+    val triggerName = WskCliTestHelpers.withTimestamp("activationFields")
+    val actionName = WskCliTestHelpers.withTimestamp("a1")
 
     assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, _) =>
       trigger.create(triggerName)
diff --git a/tests/src/test/scala/whisk/core/cli/test/WskBasicUsageTests.scala b/tests/src/test/scala/whisk/core/cli/test/WskBasicUsageTests.scala
index d0b31b33..4d163f5b 100644
--- a/tests/src/test/scala/whisk/core/cli/test/WskBasicUsageTests.scala
+++ b/tests/src/test/scala/whisk/core/cli/test/WskBasicUsageTests.scala
@@ -27,6 +27,7 @@ import scala.language.postfixOps
 import scala.concurrent.duration.Duration
 import scala.concurrent.duration.DurationInt
 import scala.util.Random
+import system.basic.WskCliTestHelpers
 import org.junit.runner.RunWith
 import org.scalatest.junit.JUnitRunner
 import common.TestHelpers
@@ -58,11 +59,6 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
   val defaultAction = Some(TestCLIUtils.getTestActionFilename("hello.js"))
   val usrAgentHeaderRegEx = """\bUser-Agent\b": \[\s+"OpenWhisk\-CLI/1.\d+.*"""
 
-  /**
-    * Append the current timestamp in ms
-    */
-  def withTimestamp(text: String) = s"$text-${System.currentTimeMillis}"
-
   behavior of "Wsk CLI usage"
 
   it should "show help and usage info" in {
@@ -97,10 +93,10 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
   it should "allow a 3 part Fully Qualified Name (FQN) without a leading '/'" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
     val guestNamespace = wsk.namespace.whois()
-    val packageName = "packageName3ptFQN"
-    val actionName = "actionName3ptFQN"
-    val triggerName = "triggerName3ptFQN"
-    val ruleName = "ruleName3ptFQN"
+    val packageName = WskCliTestHelpers.withTimestamp("packageName3ptFQN")
+    val actionName = WskCliTestHelpers.withTimestamp("actionName3ptFQN")
+    val triggerName = WskCliTestHelpers.withTimestamp("triggerName3ptFQN")
+    val ruleName = WskCliTestHelpers.withTimestamp("ruleName3ptFQN")
     val fullQualifiedName = s"${guestNamespace}/${packageName}/${actionName}"
     // Used for action and rule creation below
     assetHelper.withCleaner(wsk.pkg, packageName) { (pkg, _) =>
@@ -769,7 +765,7 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
 
   it should "reject action create and update when --web-secure used on a non-web action" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
-    val name = withTimestamp("nonwebaction")
+    val name = WskCliTestHelpers.withTimestamp("nonwebaction")
     val file = Some(TestCLIUtils.getTestActionFilename("echo.js"))
     val errorMsg =
       s"The --web-secure option is only valid when the --web option is enabled."
@@ -808,7 +804,7 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
 
   it should "generate a require-whisk-annotation --web-secure used on a web action" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
-    val name = withTimestamp("webaction")
+    val name = WskCliTestHelpers.withTimestamp("webaction")
     val file = Some(TestCLIUtils.getTestActionFilename("echo.js"))
     val secretStr = "my-secret"
 
@@ -886,7 +882,7 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
 
   it should "remove existing require-whisk-annotation when --web-secure is false" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
-    val name = withTimestamp("webaction")
+    val name = WskCliTestHelpers.withTimestamp("webaction")
     val file = Some(TestCLIUtils.getTestActionFilename("echo.js"))
     val secretStr = "my-secret"
 
@@ -1018,11 +1014,11 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
 
   it should "get an action URL" in withAssetCleaner(wskprops) {
     (wp, assetHelper) =>
-      val actionName = "action name@_-."
-      val packageName = "package name@_-."
+      val actionName = WskCliTestHelpers.withTimestamp("action name@_-.")
+      val packageName = WskCliTestHelpers.withTimestamp("package name@_-.")
       val defaultPackageName = "default"
-      val webActionName = "web action name@_-."
-      val nonExistentActionName = "non-existence action"
+      val webActionName = WskCliTestHelpers.withTimestamp("web action name@_-.")
+      val nonExistentActionName = WskCliTestHelpers.withTimestamp("non-existence action")
       val packagedAction = s"$packageName/$actionName"
       val packagedWebAction = s"$packageName/$webActionName"
       val namespace = wsk.namespace.whois()
@@ -1666,7 +1662,7 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
 
   it should "invoke a feed action with the correct lifecyle event when creating, retrieving and deleting a feed trigger" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
-    val actionName = "echo"
+    val actionName = WskCliTestHelpers.withTimestamp("echo")
     val triggerName = "feedTest"
 
     assetHelper.withCleaner(wsk.action, actionName) { (action, _) =>
@@ -1798,8 +1794,8 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
   it should "create, and list a rule with a long name" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
     val ruleName = "x" * 70
-    val triggerName = "listRulesTrigger"
-    val actionName = "listRulesAction";
+    val triggerName = WskCliTestHelpers.withTimestamp("listRulesTrigger")
+    val actionName = WskCliTestHelpers.withTimestamp("listRulesAction");
     assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, name) =>
       trigger.create(name)
     }
@@ -1817,7 +1813,7 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
   it should "return a list of alphabetized actions" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
     // Declare 4 actions, create them out of alphabetical order
-    val actionName = "actionAlphaTest"
+    val actionName = WskCliTestHelpers.withTimestamp("actionAlphaTest")
     for (i <- 1 to 3) {
       val name = s"$actionName$i"
       assetHelper.withCleaner(wsk.action, name) { (action, name) =>
@@ -1844,8 +1840,8 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
   it should "return an alphabetized list with default package actions on top" in withAssetCleaner(
     wskprops) { (wp, assetHelper) =>
     // Declare 4 actions, create them out of alphabetical order
-    val actionName = "actionPackageAlphaTest"
-    val packageName = "packageAlphaTest"
+    val actionName = WskCliTestHelpers.withTimestamp("actionPackageAlphaTest")
+    val packageName = WskCliTestHelpers.withTimestamp("packageAlphaTest")
     assetHelper.withCleaner(wsk.action, actionName) { (action, actionName) =>
       action.create(actionName, defaultAction)
     }
@@ -1937,8 +1933,8 @@ class WskBasicUsageTests extends TestHelpers with WskTestHelpers {
   it should "return a list of alphabetized rules" in withAssetCleaner(wskprops) {
     (wp, assetHelper) =>
       // Declare a trigger and an action for the purposes of creating rules
-      val triggerName = "listRulesTrigger"
-      val actionName = "listRulesAction"
+      val triggerName = WskCliTestHelpers.withTimestamp("listRulesTrigger")
+      val actionName = WskCliTestHelpers.withTimestamp("listRulesAction")
 
       assetHelper.withCleaner(wsk.trigger, triggerName) { (trigger, name) =>
         trigger.create(name)


 

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services