Pin Node.js version in tests (#439)
* Use new default Node.js version in tests
* Scala format
diff --git a/tests/src/test/scala/org/apache/openwhisk/core/cli/test/WskCliBasicUsageTests.scala b/tests/src/test/scala/org/apache/openwhisk/core/cli/test/WskCliBasicUsageTests.scala
index b16b58b..d8673e4 100644
--- a/tests/src/test/scala/org/apache/openwhisk/core/cli/test/WskCliBasicUsageTests.scala
+++ b/tests/src/test/scala/org/apache/openwhisk/core/cli/test/WskCliBasicUsageTests.scala
@@ -620,14 +620,14 @@
val webEnabled = flag.toLowerCase == "true" || flag.toLowerCase == "yes"
val rawEnabled = flag.toLowerCase == "raw"
- wsk.action.create(name, file, web = Some(flag), update = true)
+ wsk.action.create(name, file, web = Some(flag), update = true, kind = Some("nodejs:10"))
val action = wsk.action.get(name)
val baseAnnotations = Parameters("web-export", JsBoolean(webEnabled || rawEnabled)) ++
Parameters("raw-http", JsBoolean(rawEnabled)) ++
Parameters("final", JsBoolean(webEnabled || rawEnabled)) ++
- Parameters("exec", "nodejs:6")
+ Parameters("exec", "nodejs:10")
val testAnnotations = if (requireAPIKeyAnnotation) {
baseAnnotations ++ Parameters(WhiskAction.provideApiKeyAnnotationName, JsFalse)
} else baseAnnotations
@@ -657,7 +657,7 @@
Parameters("web-export", JsTrue) ++
Parameters("raw-http", JsFalse) ++
Parameters("final", JsTrue) ++
- Parameters("exec", "nodejs:6")
+ Parameters("exec", "nodejs:10")
val createAnnotations = if (requireAPIKeyAnnotation) {
baseAnnotations ++
Parameters(WhiskAction.provideApiKeyAnnotationName, JsFalse) ++
@@ -673,17 +673,23 @@
overwrittenValue)
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
- action.create(name, file, annotations = createAnnots)
+ action.create(name, file, annotations = createAnnots, kind = Some("nodejs:10"))
}
- wsk.action.create(name, file, web = Some("true"), update = true)
+ wsk.action.create(name, file, web = Some("true"), update = true, kind = Some("nodejs:10"))
val existingAnnots = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
assert(existingAnnots.startsWith(s"ok: got action $name, displaying field annotations\n"))
removeCLIHeader(existingAnnots).parseJson.convertTo[Set[JsObject]] shouldBe createAnnotations.toJsArray
.convertTo[Set[JsObject]]
- wsk.action.create(name, file, web = Some("true"), update = true, annotations = updateAnnots)
+ wsk.action.create(
+ name,
+ file,
+ web = Some("true"),
+ update = true,
+ annotations = updateAnnots,
+ kind = Some("nodejs:10"))
val updatedAnnots =
wsk.action.get(name, fieldFilter = Some("annotations")).stdout
@@ -698,14 +704,14 @@
val file = Some(TestUtils.getTestActionFilename("echo.js"))
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
- action.create(name, file, web = Some("true"), update = true)
+ action.create(name, file, web = Some("true"), update = true, kind = Some("nodejs:10"))
}
val baseAnnotations =
Parameters("web-export", JsTrue) ++
Parameters("raw-http", JsFalse) ++
Parameters("final", JsTrue) ++
- Parameters("exec", "nodejs:6")
+ Parameters("exec", "nodejs:10")
val testAnnotations = if (requireAPIKeyAnnotation) {
baseAnnotations ++
@@ -776,7 +782,7 @@
// -web true --web-secure true -> annotation "require-whisk-auth" value is an int
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
- action.create(name, file, web = Some("true"), websecure = Some("true"))
+ action.create(name, file, web = Some("true"), websecure = Some("true"), kind = Some("nodejs:10"))
}
var stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
var secretJsVar = removeCLIHeader(stdout).parseJson
@@ -793,18 +799,30 @@
secretIsInt shouldBe true
// -web true --web-secure string -> annotation "require-whisk-auth" with a value of string
- wsk.action.create(name, file, web = Some("true"), websecure = Some(s"$secretStr"), update = true)
+ wsk.action.create(
+ name,
+ file,
+ web = Some("true"),
+ websecure = Some(s"$secretStr"),
+ update = true,
+ kind = Some("nodejs:10"))
stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
val actualAnnotations =
removeCLIHeader(stdout).parseJson.convertTo[JsArray].elements
- actualAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:6"))) shouldBe true
+ actualAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:10"))) shouldBe true
actualAnnotations.contains(JsObject("key" -> JsString("web-export"), "value" -> JsBoolean(true))) shouldBe true
actualAnnotations.contains(JsObject("key" -> JsString("raw-http"), "value" -> JsBoolean(false))) shouldBe true
actualAnnotations.contains(JsObject("key" -> JsString("final"), "value" -> JsBoolean(true))) shouldBe true
actualAnnotations.contains(JsObject("key" -> JsString("require-whisk-auth"), "value" -> JsString(s"$secretStr"))) shouldBe true
// Updating web action multiple times with --web-secure true should not change the "require-whisk-auth" numeric value
- wsk.action.create(name, file, web = Some("true"), websecure = Some("true"), update = true)
+ wsk.action.create(
+ name,
+ file,
+ web = Some("true"),
+ websecure = Some("true"),
+ update = true,
+ kind = Some("nodejs:10"))
stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
val secretNumJsVar = removeCLIHeader(stdout).parseJson
.convertTo[JsArray]
@@ -812,7 +830,13 @@
.find({
_.convertTo[JsObject].getFields("key").head == JsString("require-whisk-auth")
})
- wsk.action.create(name, file, web = Some("true"), websecure = Some("true"), update = true)
+ wsk.action.create(
+ name,
+ file,
+ web = Some("true"),
+ websecure = Some("true"),
+ update = true,
+ kind = Some("nodejs:10"))
removeCLIHeader(stdout).parseJson
.convertTo[JsArray]
.elements
@@ -861,14 +885,14 @@
val secretStr = "my-secret"
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
- action.create(name, file, web = Some("true"), annotations = createAnnots)
+ action.create(name, file, web = Some("true"), annotations = createAnnots, kind = Some("nodejs:10"))
}
- wsk.action.create(name, file, websecure = Some(secretStr), update = true)
+ wsk.action.create(name, file, websecure = Some(secretStr), update = true, kind = Some("nodejs:10"))
var stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
var existingAnnotations =
removeCLIHeader(stdout).parseJson.convertTo[JsArray].elements
- existingAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:6"))) shouldBe true
+ existingAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:10"))) shouldBe true
existingAnnotations.contains(JsObject("key" -> JsString("web-export"), "value" -> JsBoolean(true))) shouldBe true
existingAnnotations.contains(JsObject("key" -> JsString("raw-http"), "value" -> JsBoolean(false))) shouldBe true
existingAnnotations.contains(JsObject("key" -> JsString("final"), "value" -> JsBoolean(true))) shouldBe true
@@ -876,11 +900,17 @@
existingAnnotations.contains(JsObject("key" -> JsString(createKey), "value" -> createValue)) shouldBe true
existingAnnotations.contains(JsObject("key" -> JsString(origKey), "value" -> origValue)) shouldBe true
- wsk.action.create(name, file, websecure = Some(secretStr), update = true, annotations = updateAnnots)
+ wsk.action.create(
+ name,
+ file,
+ websecure = Some(secretStr),
+ update = true,
+ annotations = updateAnnots,
+ kind = Some("nodejs:10"))
stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
var updatedAnnotations =
removeCLIHeader(stdout).parseJson.convertTo[JsArray].elements
- updatedAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:6"))) shouldBe true
+ updatedAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:10"))) shouldBe true
updatedAnnotations.contains(JsObject("key" -> JsString("web-export"), "value" -> JsBoolean(true))) shouldBe true
updatedAnnotations.contains(JsObject("key" -> JsString("raw-http"), "value" -> JsBoolean(false))) shouldBe true
updatedAnnotations.contains(JsObject("key" -> JsString("final"), "value" -> JsBoolean(true))) shouldBe true
@@ -1192,10 +1222,10 @@
val requireAPIKeyAnnotation = WhiskProperties.getBooleanProperty("whisk.feature.requireApiKeyAnnotation", true)
val expectedParam = JsObject("payload" -> JsString("test"))
val ns = wsk.namespace.whois()
- val expectedExec = JsObject("kind" -> "nodejs:6".toJson, "binary" -> JsFalse)
+ val expectedExec = JsObject("kind" -> "nodejs:10".toJson, "binary" -> JsFalse)
val expectedParams = Parameters("payload", "test")
val baseAnnotations =
- Parameters("exec", "nodejs:6")
+ Parameters("exec", "nodejs:10")
val expectedAnnots = if (requireAPIKeyAnnotation) {
baseAnnotations ++
Parameters(WhiskAction.provideApiKeyAnnotationName, JsFalse)
@@ -1207,7 +1237,7 @@
(wp, assetHelper) =>
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
- action.create(name, defaultAction, parameters = paramInput)
+ action.create(name, defaultAction, parameters = paramInput, kind = Some("nodejs:10"))
}
wsk.action.get(name, fieldFilter = Some("name")).stdout should include(s"""$successMsg name\n"$name"""")