Adjust top-level test for runtime kind support (#1070)
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
* Adjust top-level test for runtime kind support
diff --git a/runtimes/runtimes_test.go b/runtimes/runtimes_test.go
index cdca181..b8d0131 100644
--- a/runtimes/runtimes_test.go
+++ b/runtimes/runtimes_test.go
@@ -18,26 +18,29 @@
package runtimes
import (
+ "fmt"
"testing"
"github.com/stretchr/testify/assert"
)
+// This test only verifies that the runtimes list (i.e., "kinds") supports 1 or more
+// languages we have more granular tests for (plus 1 default).
+// NOTE: We do not intend for this testcase to comprehensively test for all runtime
+// language versions. Individual tests that require specific versions will have
+// better, more localized failures and error messages.
func TestParseOpenWhisk(t *testing.T) {
openwhiskHost := "https://openwhisk.ng.bluemix.net"
openwhisk, err := ParseOpenWhisk(openwhiskHost)
assert.Equal(t, nil, err, "parse openwhisk info error happened.")
println(openwhisk.Runtimes)
converted := ConvertToMap(openwhisk)
- println(converted["nodejs"])
- println(converted["python"])
- println(converted["go"])
- //one larger than in api response because of explicit :default
- assert.Equal(t, 4, len(converted["nodejs"]), "not expected length")
- assert.Equal(t, 4, len(converted["php"]), "not expected length")
- assert.Equal(t, 2, len(converted["java"]), "not expected length")
- assert.Equal(t, 7, len(converted["python"]), "not expected length")
- assert.Equal(t, 2, len(converted["ruby"]), "not expected length")
- assert.Equal(t, 4, len(converted["swift"]), "not expected length")
- assert.Equal(t, 2, len(converted["go"]), "not expected length")
+ supported := []string{"go", "java", "nodejs", "php", "python", "ruby", "swift"}
+ fmt.Printf("Testing runtime kind support for: %v\n", supported)
+
+ // TODO (see GitHub issue: #1069): add tests for newer runtime kinds (e.g., .NET, ballerina, etc.)
+ for _, language := range supported {
+ fmt.Printf("Testing runtime kind: [%s]...\n", language)
+ assert.GreaterOrEqual(t, len(converted[language]), 2, "Runtime kind [%s] not found at [%s]", language, openwhiskHost)
+ }
}