You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by lz...@apache.org on 2017/09/06 03:12:53 UTC

[incubator-openwhisk-wskdeploy] branch master updated: Updated YAML parser to run unmarshal with parsing errors (#446)

This is an automated email from the ASF dual-hosted git repository.

lz1982 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-wskdeploy.git


The following commit(s) were added to refs/heads/master by this push:
     new 49f6f37  Updated YAML parser to run unmarshal with parsing errors (#446)
49f6f37 is described below

commit 49f6f374638699bc383e5efb6d4b8d28f49deb90
Author: Priti Desai <pd...@us.ibm.com>
AuthorDate: Tue Sep 5 20:12:51 2017 -0700

    Updated YAML parser to run unmarshal with parsing errors (#446)
---
 parsers/deploy_parser.go                            |  2 +-
 parsers/manifest_parser.go                          |  2 +-
 parsers/manifest_parser_test.go                     | 11 +----------
 parsers/yamlparser.go                               |  2 +-
 tests/src/integration/dependency/manifest.yaml      |  2 --
 tests/src/integration/helloworld/helloworld_test.go |  2 +-
 6 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/parsers/deploy_parser.go b/parsers/deploy_parser.go
index b6ad73c..6ad318b 100644
--- a/parsers/deploy_parser.go
+++ b/parsers/deploy_parser.go
@@ -24,7 +24,7 @@ import (
 )
 
 func (dm *YAMLParser) UnmarshalDeployment(input []byte, deploy *DeploymentYAML) error {
-	err := yaml.Unmarshal(input, deploy)
+	err := yaml.UnmarshalStrict(input, deploy)
 	if err != nil {
 		fmt.Printf("error happened during unmarshal :%v", err)
 		return err
diff --git a/parsers/manifest_parser.go b/parsers/manifest_parser.go
index a0a3b3c..8c9cc1e 100644
--- a/parsers/manifest_parser.go
+++ b/parsers/manifest_parser.go
@@ -59,7 +59,7 @@ func Write(manifest *ManifestYAML, filename string) {
 }
 
 func (dm *YAMLParser) Unmarshal(input []byte, manifest *ManifestYAML) error {
-	err := yaml.Unmarshal(input, manifest)
+	err := yaml.UnmarshalStrict(input, manifest)
 	if err != nil {
 		fmt.Printf("error happened during unmarshal :%v", err)
 		return err
diff --git a/parsers/manifest_parser_test.go b/parsers/manifest_parser_test.go
index b8cb664..374d21a 100644
--- a/parsers/manifest_parser_test.go
+++ b/parsers/manifest_parser_test.go
@@ -216,16 +216,7 @@ func TestUnmarshalForMissingPackage(t *testing.T) {
 	// Unmarshal reads/parses manifest data and sets the values of ManifestYAML
 	// And returns an error if parsing a manifest data fails
 	err := NewYAMLParser().Unmarshal([]byte(data), &m)
-	fmt.Println("Error: ", err)
-	fmt.Println("Filepath: \"", m.Filepath, "\"")
-	fmt.Println("Package: ", m.Package)
-	fmt.Println("PackageName: \"", m.Package.Packagename, "\"")
-	fmt.Println("Number of Actions: ", len(m.Package.Actions))
-	fmt.Println("Actions: ", m.Package.Actions)
-	// (TODO) Unmarshal does not report any error even if manifest file is missing required section.
-	// (TODO) In this test case, "Package" section is missing which is not reported,
-	// (TODO) instead ManifestYAML is set to its zero values
-	// assert.NotNil(t, err, "Expected some error from Unmarshal but got no error")
+	assert.NotNil(t, err, "Expected some error from Unmarshal but got no error")
 }
 
 /*
diff --git a/parsers/yamlparser.go b/parsers/yamlparser.go
index 9190bbe..133c4c6 100644
--- a/parsers/yamlparser.go
+++ b/parsers/yamlparser.go
@@ -53,7 +53,7 @@ type Action struct {
 	Version  string `yaml:"version"`  //used in manifest.yaml
 	Location string `yaml:"location"` //deprecated, used in manifest.yaml
 	Function string `yaml:"function"` //used in manifest.yaml
-	Runtime  string `yaml:"runtime"`  //used in manifest.yaml
+	Runtime  string `yaml:"runtime,omitempty"`  //used in manifest.yaml
 	//mapping to wsk.Action.Namespace
 	Namespace  string                 `yaml:"namespace"`  //used in deployment.yaml
 	Credential string                 `yaml:"credential"` //used in deployment.yaml
diff --git a/tests/src/integration/dependency/manifest.yaml b/tests/src/integration/dependency/manifest.yaml
index f76390d..8c05414 100644
--- a/tests/src/integration/dependency/manifest.yaml
+++ b/tests/src/integration/dependency/manifest.yaml
@@ -10,8 +10,6 @@ package:
     rule1:
       trigger: trigger1
       action: openwhisk-app/hello
-      runtime: nodejs:6
     rule2:
       trigger: trigger2
       action: openwhisk-app/helloworld
-      runtime: nodejs:6
diff --git a/tests/src/integration/helloworld/helloworld_test.go b/tests/src/integration/helloworld/helloworld_test.go
index d453e66..d5d38e4 100644
--- a/tests/src/integration/helloworld/helloworld_test.go
+++ b/tests/src/integration/helloworld/helloworld_test.go
@@ -26,7 +26,7 @@ import (
 	"testing"
 )
 
-func IntegrationTestHelloWorld(t *testing.T) {
+func TestHelloWorld(t *testing.T) {
 	wskdeploy := common.NewWskdeploy()
 	_, err := wskdeploy.Deploy(manifestPath, deploymentPath)
 	assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.")

-- 
To stop receiving notification emails like this one, please contact
['"commits@openwhisk.apache.org" <co...@openwhisk.apache.org>'].