You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by du...@apache.org on 2018/03/22 18:45:15 UTC
[incubator-openwhisk-cli] branch master updated: Timestamp test
improvement (#254)
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-cli.git
The following commit(s) were added to refs/heads/master by this push:
new 6e19596 Timestamp test improvement (#254)
6e19596 is described below
commit 6e1959680634a3c8729e8245455115a04e7143fc
Author: David Cariello <dr...@us.ibm.com>
AuthorDate: Thu Mar 22 13:45:12 2018 -0500
Timestamp test improvement (#254)
* improve timestamp logic in tests and improve readme accuracy
---
README.md | 4 +-
.../test/scala/system/basic/WskBasicTests.scala | 47 ++++++++++++----------
.../whisk/core/cli/test/WskBasicUsageTests.scala | 44 +++++++++-----------
3 files changed, 47 insertions(+), 48 deletions(-)
diff --git a/README.md b/README.md
index a80aee9..8ce6313 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 ac162d6..2759578 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 d0b31b3..4d163f5 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)
--
To stop receiving notification emails like this one, please contact
dubeejw@apache.org.