Skip to content

Commit 04dfe81

Browse files
authored
Pin Node.js version in tests (#439)
* Use new default Node.js version in tests * Scala format
1 parent 18fd63c commit 04dfe81

File tree

1 file changed

+51
-21
lines changed

1 file changed

+51
-21
lines changed

tests/src/test/scala/org/apache/openwhisk/core/cli/test/WskCliBasicUsageTests.scala

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -620,14 +620,14 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
620620
val webEnabled = flag.toLowerCase == "true" || flag.toLowerCase == "yes"
621621
val rawEnabled = flag.toLowerCase == "raw"
622622

623-
wsk.action.create(name, file, web = Some(flag), update = true)
623+
wsk.action.create(name, file, web = Some(flag), update = true, kind = Some("nodejs:10"))
624624

625625
val action = wsk.action.get(name)
626626

627627
val baseAnnotations = Parameters("web-export", JsBoolean(webEnabled || rawEnabled)) ++
628628
Parameters("raw-http", JsBoolean(rawEnabled)) ++
629629
Parameters("final", JsBoolean(webEnabled || rawEnabled)) ++
630-
Parameters("exec", "nodejs:6")
630+
Parameters("exec", "nodejs:10")
631631
val testAnnotations = if (requireAPIKeyAnnotation) {
632632
baseAnnotations ++ Parameters(WhiskAction.provideApiKeyAnnotationName, JsFalse)
633633
} else baseAnnotations
@@ -657,7 +657,7 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
657657
Parameters("web-export", JsTrue) ++
658658
Parameters("raw-http", JsFalse) ++
659659
Parameters("final", JsTrue) ++
660-
Parameters("exec", "nodejs:6")
660+
Parameters("exec", "nodejs:10")
661661
val createAnnotations = if (requireAPIKeyAnnotation) {
662662
baseAnnotations ++
663663
Parameters(WhiskAction.provideApiKeyAnnotationName, JsFalse) ++
@@ -673,17 +673,23 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
673673
overwrittenValue)
674674

675675
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
676-
action.create(name, file, annotations = createAnnots)
676+
action.create(name, file, annotations = createAnnots, kind = Some("nodejs:10"))
677677
}
678678

679-
wsk.action.create(name, file, web = Some("true"), update = true)
679+
wsk.action.create(name, file, web = Some("true"), update = true, kind = Some("nodejs:10"))
680680

681681
val existingAnnots = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
682682
assert(existingAnnots.startsWith(s"ok: got action $name, displaying field annotations\n"))
683683
removeCLIHeader(existingAnnots).parseJson.convertTo[Set[JsObject]] shouldBe createAnnotations.toJsArray
684684
.convertTo[Set[JsObject]]
685685

686-
wsk.action.create(name, file, web = Some("true"), update = true, annotations = updateAnnots)
686+
wsk.action.create(
687+
name,
688+
file,
689+
web = Some("true"),
690+
update = true,
691+
annotations = updateAnnots,
692+
kind = Some("nodejs:10"))
687693

688694
val updatedAnnots =
689695
wsk.action.get(name, fieldFilter = Some("annotations")).stdout
@@ -698,14 +704,14 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
698704
val file = Some(TestUtils.getTestActionFilename("echo.js"))
699705

700706
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
701-
action.create(name, file, web = Some("true"), update = true)
707+
action.create(name, file, web = Some("true"), update = true, kind = Some("nodejs:10"))
702708
}
703709

704710
val baseAnnotations =
705711
Parameters("web-export", JsTrue) ++
706712
Parameters("raw-http", JsFalse) ++
707713
Parameters("final", JsTrue) ++
708-
Parameters("exec", "nodejs:6")
714+
Parameters("exec", "nodejs:10")
709715

710716
val testAnnotations = if (requireAPIKeyAnnotation) {
711717
baseAnnotations ++
@@ -776,7 +782,7 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
776782

777783
// -web true --web-secure true -> annotation "require-whisk-auth" value is an int
778784
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
779-
action.create(name, file, web = Some("true"), websecure = Some("true"))
785+
action.create(name, file, web = Some("true"), websecure = Some("true"), kind = Some("nodejs:10"))
780786
}
781787
var stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
782788
var secretJsVar = removeCLIHeader(stdout).parseJson
@@ -793,26 +799,44 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
793799
secretIsInt shouldBe true
794800

795801
// -web true --web-secure string -> annotation "require-whisk-auth" with a value of string
796-
wsk.action.create(name, file, web = Some("true"), websecure = Some(s"$secretStr"), update = true)
802+
wsk.action.create(
803+
name,
804+
file,
805+
web = Some("true"),
806+
websecure = Some(s"$secretStr"),
807+
update = true,
808+
kind = Some("nodejs:10"))
797809
stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
798810
val actualAnnotations =
799811
removeCLIHeader(stdout).parseJson.convertTo[JsArray].elements
800-
actualAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:6"))) shouldBe true
812+
actualAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:10"))) shouldBe true
801813
actualAnnotations.contains(JsObject("key" -> JsString("web-export"), "value" -> JsBoolean(true))) shouldBe true
802814
actualAnnotations.contains(JsObject("key" -> JsString("raw-http"), "value" -> JsBoolean(false))) shouldBe true
803815
actualAnnotations.contains(JsObject("key" -> JsString("final"), "value" -> JsBoolean(true))) shouldBe true
804816
actualAnnotations.contains(JsObject("key" -> JsString("require-whisk-auth"), "value" -> JsString(s"$secretStr"))) shouldBe true
805817

806818
// Updating web action multiple times with --web-secure true should not change the "require-whisk-auth" numeric value
807-
wsk.action.create(name, file, web = Some("true"), websecure = Some("true"), update = true)
819+
wsk.action.create(
820+
name,
821+
file,
822+
web = Some("true"),
823+
websecure = Some("true"),
824+
update = true,
825+
kind = Some("nodejs:10"))
808826
stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
809827
val secretNumJsVar = removeCLIHeader(stdout).parseJson
810828
.convertTo[JsArray]
811829
.elements
812830
.find({
813831
_.convertTo[JsObject].getFields("key").head == JsString("require-whisk-auth")
814832
})
815-
wsk.action.create(name, file, web = Some("true"), websecure = Some("true"), update = true)
833+
wsk.action.create(
834+
name,
835+
file,
836+
web = Some("true"),
837+
websecure = Some("true"),
838+
update = true,
839+
kind = Some("nodejs:10"))
816840
removeCLIHeader(stdout).parseJson
817841
.convertTo[JsArray]
818842
.elements
@@ -861,26 +885,32 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
861885
val secretStr = "my-secret"
862886

863887
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
864-
action.create(name, file, web = Some("true"), annotations = createAnnots)
888+
action.create(name, file, web = Some("true"), annotations = createAnnots, kind = Some("nodejs:10"))
865889
}
866890

867-
wsk.action.create(name, file, websecure = Some(secretStr), update = true)
891+
wsk.action.create(name, file, websecure = Some(secretStr), update = true, kind = Some("nodejs:10"))
868892
var stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
869893
var existingAnnotations =
870894
removeCLIHeader(stdout).parseJson.convertTo[JsArray].elements
871-
existingAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:6"))) shouldBe true
895+
existingAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:10"))) shouldBe true
872896
existingAnnotations.contains(JsObject("key" -> JsString("web-export"), "value" -> JsBoolean(true))) shouldBe true
873897
existingAnnotations.contains(JsObject("key" -> JsString("raw-http"), "value" -> JsBoolean(false))) shouldBe true
874898
existingAnnotations.contains(JsObject("key" -> JsString("final"), "value" -> JsBoolean(true))) shouldBe true
875899
existingAnnotations.contains(JsObject("key" -> JsString("require-whisk-auth"), "value" -> JsString(secretStr))) shouldBe true
876900
existingAnnotations.contains(JsObject("key" -> JsString(createKey), "value" -> createValue)) shouldBe true
877901
existingAnnotations.contains(JsObject("key" -> JsString(origKey), "value" -> origValue)) shouldBe true
878902

879-
wsk.action.create(name, file, websecure = Some(secretStr), update = true, annotations = updateAnnots)
903+
wsk.action.create(
904+
name,
905+
file,
906+
websecure = Some(secretStr),
907+
update = true,
908+
annotations = updateAnnots,
909+
kind = Some("nodejs:10"))
880910
stdout = wsk.action.get(name, fieldFilter = Some("annotations")).stdout
881911
var updatedAnnotations =
882912
removeCLIHeader(stdout).parseJson.convertTo[JsArray].elements
883-
updatedAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:6"))) shouldBe true
913+
updatedAnnotations.contains(JsObject("key" -> JsString("exec"), "value" -> JsString("nodejs:10"))) shouldBe true
884914
updatedAnnotations.contains(JsObject("key" -> JsString("web-export"), "value" -> JsBoolean(true))) shouldBe true
885915
updatedAnnotations.contains(JsObject("key" -> JsString("raw-http"), "value" -> JsBoolean(false))) shouldBe true
886916
updatedAnnotations.contains(JsObject("key" -> JsString("final"), "value" -> JsBoolean(true))) shouldBe true
@@ -1192,10 +1222,10 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
11921222
val requireAPIKeyAnnotation = WhiskProperties.getBooleanProperty("whisk.feature.requireApiKeyAnnotation", true)
11931223
val expectedParam = JsObject("payload" -> JsString("test"))
11941224
val ns = wsk.namespace.whois()
1195-
val expectedExec = JsObject("kind" -> "nodejs:6".toJson, "binary" -> JsFalse)
1225+
val expectedExec = JsObject("kind" -> "nodejs:10".toJson, "binary" -> JsFalse)
11961226
val expectedParams = Parameters("payload", "test")
11971227
val baseAnnotations =
1198-
Parameters("exec", "nodejs:6")
1228+
Parameters("exec", "nodejs:10")
11991229
val expectedAnnots = if (requireAPIKeyAnnotation) {
12001230
baseAnnotations ++
12011231
Parameters(WhiskAction.provideApiKeyAnnotationName, JsFalse)
@@ -1207,7 +1237,7 @@ class WskCliBasicUsageTests extends TestHelpers with WskTestHelpers {
12071237

12081238
(wp, assetHelper) =>
12091239
assetHelper.withCleaner(wsk.action, name) { (action, _) =>
1210-
action.create(name, defaultAction, parameters = paramInput)
1240+
action.create(name, defaultAction, parameters = paramInput, kind = Some("nodejs:10"))
12111241
}
12121242

12131243
wsk.action.get(name, fieldFilter = Some("name")).stdout should include(s"""$successMsg name\n"$name"""")

0 commit comments

Comments
 (0)