You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ho...@apache.org on 2017/06/29 17:33:48 UTC
[incubator-openwhisk-wskdeploy] branch master updated: Enable
scancode and update all files that did not pass. (#283)
This is an automated email from the ASF dual-hosted git repository.
houshengbo 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 376c2b7 Enable scancode and update all files that did not pass. (#283)
376c2b7 is described below
commit 376c2b7f6589c2a434709f822921abf2d8e57603
Author: Matt Rutkowski <mr...@us.ibm.com>
AuthorDate: Thu Jun 29 12:33:46 2017 -0500
Enable scancode and update all files that did not pass. (#283)
* enable scancode.
* Enable scancode and update all files that did not pass.
* Enable scancode and update all files that did not pass.
* Enable scancode and update all files that did not pass.
---
.travis.yml | 4 +
DEPENDENCIES.md | 4 +-
build.gradle | 19 ++-
cmd/root_test.go | 17 +++
cmdImp/rootImp.go | 17 +++
cmdImp/undeployImp.go | 17 +++
deployers/deploymentreader_test.go | 17 +++
deployers/manifestreader_test.go | 17 +++
gradle/docker.gradle | 19 ++-
parsers/yamlparser_test.go | 17 +++
tests/README.md | 2 +-
tests/src/integration/common/wskdeploy.go | 45 +++++--
tests/src/integration/common/wskprops.go | 57 +++++---
.../src/integration/dependency/dependency_test.go | 43 ++++--
.../integration/triggerrule/triggerrule_test.go | 17 +++
tests/src/integration/webaction/webaction_test.go | 17 +++
.../src/integration/zipaction/actions/cat/index.js | 5 +-
.../actions/cat/node_modules/cat/README.md | 8 +-
.../zipaction/actions/cat/node_modules/cat/bin.js | 5 +-
.../actions/cat/node_modules/cat/example.js | 5 +-
.../actions/cat/node_modules/cat/index.js | 89 +++++++------
tests/src/integration/zipaction/zipaction_test.go | 41 ++++--
.../data-processing-app/actions/mhget/mhget.js | 147 ++++++++++-----------
.../data-processing-app/actions/mhpost/index.js | 19 +--
tests/usecases/openstack/actions/callSlack.js | 5 +-
tests/usecases/openstack/actions/createBackup.js | 9 +-
tests/usecases/openstack/actions/getApiToken.js | 27 ++--
tests/usecases/openstack/actions/getServers.js | 20 +--
tools/travis/cloneutils.sh | 9 ++
tools/travis/scancode.sh | 11 ++
utils/dependencies.go | 18 ++-
utils/flags.go | 17 +++
utils/gitreader.go | 18 ++-
utils/util_test.go | 17 +++
34 files changed, 563 insertions(+), 236 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 89131ac..5f7fe18 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,12 +13,16 @@ services:
git:
depth: 3
+before_install:
+ - ./tools/travis/cloneutils.sh
+
install:
- export DEPLOY_BUILD_READY=false
- go get -u github.com/golang/lint/golint
- go get -u github.com/stretchr/testify
script:
+ - ./tools/travis/scancode.sh
- make lint
- make build
- export PATH=$PATH:$TRAVIS_BUILD_DIR;
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 2b7046d..46059c0 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -1,9 +1,9 @@
# Library dependencies for openwhisk-wskdeploy tool
-Like other open source projects, openwhisk-wskdeploy is dependent on open source libraries, we
+Like other open source projects, openwhisk-wskdeploy is dependent on open source libraries, we
list them here to assure that all code dependencies have Apache 2.0 compatible licenses.
| Library name | Licenses Type | License/Project Link |
| ------| ------ | ------ |
| jibber_jabber | Apache 2.0 | https://github.com/cloudfoundry-attic/jibber_jabber |
-| color | MIT | https://github.com/fatih/color |
\ No newline at end of file
+| color | MIT | https://github.com/fatih/color |
diff --git a/build.gradle b/build.gradle
index 8311a44..1cf4798 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
ext.dockerImageName = "wskdeploy"
ext.dockerContainerName = "wskdeploy"
ext.dockerBuildArgs = getDockerBuildArgs()
@@ -90,4 +107,4 @@ def mapOsArchToGoArch(String osarch) {
if (osarch_l.contains("x86_64") || osarch_l == "amd64") return "amd64"
if (osarch_l.contains("i386") || osarch_l.contains("x86_32")) return "386"
return osarch_l
-}
\ No newline at end of file
+}
diff --git a/cmd/root_test.go b/cmd/root_test.go
index 94a7c69..e75410d 100644
--- a/cmd/root_test.go
+++ b/cmd/root_test.go
@@ -1,5 +1,22 @@
// +build unit
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package cmd
import (
diff --git a/cmdImp/rootImp.go b/cmdImp/rootImp.go
index 203865a..833e696 100644
--- a/cmdImp/rootImp.go
+++ b/cmdImp/rootImp.go
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package cmdImp
import (
diff --git a/cmdImp/undeployImp.go b/cmdImp/undeployImp.go
index a02b411..5543447 100644
--- a/cmdImp/undeployImp.go
+++ b/cmdImp/undeployImp.go
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package cmdImp
import (
diff --git a/deployers/deploymentreader_test.go b/deployers/deploymentreader_test.go
index 9f9ff2f..ad0b85c 100644
--- a/deployers/deploymentreader_test.go
+++ b/deployers/deploymentreader_test.go
@@ -1,5 +1,22 @@
// +build unit
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package deployers
import (
diff --git a/deployers/manifestreader_test.go b/deployers/manifestreader_test.go
index d154520..7b58568 100644
--- a/deployers/manifestreader_test.go
+++ b/deployers/manifestreader_test.go
@@ -1,5 +1,22 @@
// +build unit
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package deployers
import (
diff --git a/gradle/docker.gradle b/gradle/docker.gradle
index 97c2a9e..6ad6850 100644
--- a/gradle/docker.gradle
+++ b/gradle/docker.gradle
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import groovy.time.*
/**
@@ -96,4 +113,4 @@ def retry(cmd, retries, timeout) {
throw new GradleException(message)
}
}
-}
\ No newline at end of file
+}
diff --git a/parsers/yamlparser_test.go b/parsers/yamlparser_test.go
index 840d4c5..c0a0cd5 100644
--- a/parsers/yamlparser_test.go
+++ b/parsers/yamlparser_test.go
@@ -1,5 +1,22 @@
// +build unit
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package parsers
import (
diff --git a/tests/README.md b/tests/README.md
index 0eab28d..3f73d84 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -48,4 +48,4 @@ put under tests/data.
Different integration tests can be grouped into different packages as well, and they can be put under a
subfolder named after the package under tests/src/integration. The yaml files of manifest and deployment
used by the integration test are put under the same subfolder as the integration test itself. The source
-file used by the manifest file can be put under the folder tests/src/integration/<package>/src.
\ No newline at end of file
+file used by the manifest file can be put under the folder tests/src/integration/<package>/src.
diff --git a/tests/src/integration/common/wskdeploy.go b/tests/src/integration/common/wskdeploy.go
index beca1b0..0cf89ea 100644
--- a/tests/src/integration/common/wskdeploy.go
+++ b/tests/src/integration/common/wskdeploy.go
@@ -1,38 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package common
import (
- "os"
- "os/exec"
+ "os"
+ "os/exec"
)
const cmd = "wskdeploy"
type Wskdeploy struct {
- Path string
- Dir string
+ Path string
+ Dir string
}
func NewWskdeploy() *Wskdeploy {
- return NewWskWithPath(os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/")
+ return NewWskWithPath(os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/")
}
func NewWskWithPath(path string) *Wskdeploy {
- var dep Wskdeploy
- dep.Path = cmd
- dep.Dir = path
- return &dep
+ var dep Wskdeploy
+ dep.Path = cmd
+ dep.Dir = path
+ return &dep
}
func (wskdeploy *Wskdeploy) RunCommand(s ...string) ([]byte, error) {
- command := exec.Command(wskdeploy.Path, s...)
- command.Dir = wskdeploy.Dir
- return command.CombinedOutput()
+ command := exec.Command(wskdeploy.Path, s...)
+ command.Dir = wskdeploy.Dir
+ return command.CombinedOutput()
}
func (wskdeploy *Wskdeploy) Deploy(manifestPath string, deploymentPath string) ([]byte, error) {
- return wskdeploy.RunCommand("-m", manifestPath, "-d", deploymentPath)
+ return wskdeploy.RunCommand("-m", manifestPath, "-d", deploymentPath)
}
func (wskdeploy *Wskdeploy) Undeploy(manifestPath string, deploymentPath string) ([]byte, error) {
- return wskdeploy.RunCommand("undeploy", "-m", manifestPath, "-d", deploymentPath)
+ return wskdeploy.RunCommand("undeploy", "-m", manifestPath, "-d", deploymentPath)
}
diff --git a/tests/src/integration/common/wskprops.go b/tests/src/integration/common/wskprops.go
index 6f9f171..ebe12e5 100644
--- a/tests/src/integration/common/wskprops.go
+++ b/tests/src/integration/common/wskprops.go
@@ -1,33 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package common
import (
- "github.com/spf13/viper"
- "io/ioutil"
- "os"
+ "github.com/spf13/viper"
+ "io/ioutil"
+ "os"
)
type Wskprops struct {
- APIHost string
- AuthKey string
+ APIHost string
+ AuthKey string
}
func GetWskprops() *Wskprops {
- var dep Wskprops
- dep.APIHost = ""
- dep.AuthKey = ""
+ var dep Wskprops
+ dep.APIHost = ""
+ dep.AuthKey = ""
- viper.SetConfigName("whisk")
- viper.AddConfigPath(os.Getenv("OPENWHISK_HOME"))
+ viper.SetConfigName("whisk")
+ viper.AddConfigPath(os.Getenv("OPENWHISK_HOME"))
- err := viper.ReadInConfig()
- if err == nil {
- authPath := viper.GetString("testing.auth")
+ err := viper.ReadInConfig()
+ if err == nil {
+ authPath := viper.GetString("testing.auth")
- b, err := ioutil.ReadFile(authPath)
- if err == nil {
- dep.AuthKey = string(b)
- }
- dep.APIHost = viper.GetString("router.host")
- }
- return &dep
+ b, err := ioutil.ReadFile(authPath)
+ if err == nil {
+ dep.AuthKey = string(b)
+ }
+ dep.APIHost = viper.GetString("router.host")
+ }
+ return &dep
}
diff --git a/tests/src/integration/dependency/dependency_test.go b/tests/src/integration/dependency/dependency_test.go
index 5b3237c..396d1c5 100644
--- a/tests/src/integration/dependency/dependency_test.go
+++ b/tests/src/integration/dependency/dependency_test.go
@@ -1,12 +1,29 @@
// +build integration
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package tests
import (
- "github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/common"
- "github.com/stretchr/testify/assert"
- "os"
- "testing"
+ "github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/common"
+ "github.com/stretchr/testify/assert"
+ "os"
+ "testing"
)
@@ -14,15 +31,15 @@ var wskprops = common.GetWskprops()
// TODO: write the integration against openwhisk
func TestDependency(t *testing.T) {
- os.Setenv("__OW_API_HOST", wskprops.APIHost)
- wskdeploy := common.NewWskdeploy()
- _, err := wskdeploy.Deploy(manifestPath, deploymentPath)
- assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.")
- _, err = wskdeploy.Undeploy(manifestPath, deploymentPath)
- assert.Equal(t, nil, err, "Failed to undeploy based on the manifest and deployment files.")
+ os.Setenv("__OW_API_HOST", wskprops.APIHost)
+ wskdeploy := common.NewWskdeploy()
+ _, err := wskdeploy.Deploy(manifestPath, deploymentPath)
+ assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.")
+ _, err = wskdeploy.Undeploy(manifestPath, deploymentPath)
+ assert.Equal(t, nil, err, "Failed to undeploy based on the manifest and deployment files.")
}
var (
- manifestPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/dependency/manifest.yaml"
- deploymentPath = ""
-)
\ No newline at end of file
+ manifestPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/dependency/manifest.yaml"
+ deploymentPath = ""
+)
diff --git a/tests/src/integration/triggerrule/triggerrule_test.go b/tests/src/integration/triggerrule/triggerrule_test.go
index fee8f64..fb39478 100644
--- a/tests/src/integration/triggerrule/triggerrule_test.go
+++ b/tests/src/integration/triggerrule/triggerrule_test.go
@@ -1,5 +1,22 @@
// +build integration
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package tests
import (
diff --git a/tests/src/integration/webaction/webaction_test.go b/tests/src/integration/webaction/webaction_test.go
index 3222d88..9716f57 100644
--- a/tests/src/integration/webaction/webaction_test.go
+++ b/tests/src/integration/webaction/webaction_test.go
@@ -1,5 +1,22 @@
// +build integration
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package tests
import (
diff --git a/tests/src/integration/zipaction/actions/cat/index.js b/tests/src/integration/zipaction/actions/cat/index.js
index 9a2666e..89d0f48 100644
--- a/tests/src/integration/zipaction/actions/cat/index.js
+++ b/tests/src/integration/zipaction/actions/cat/index.js
@@ -1,5 +1,8 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
function myAction(args) {
var cat = require('cat');
- cat('https://baidu.com', console.log);
+ cat('https://baidu.com', console.log);
}
exports.main = myAction;
diff --git a/tests/src/integration/zipaction/actions/cat/node_modules/cat/README.md b/tests/src/integration/zipaction/actions/cat/node_modules/cat/README.md
index 46473e8..d844196 100644
--- a/tests/src/integration/zipaction/actions/cat/node_modules/cat/README.md
+++ b/tests/src/integration/zipaction/actions/cat/node_modules/cat/README.md
@@ -2,8 +2,8 @@
cat will read the contents of an url. it's available through npm
- npm install cat
-
+ npm install cat
+
it will read your files
```js
@@ -18,7 +18,7 @@ and your `http` / `https` urls
```js
cat('http://google.com', console.log); // cat also follows any redirects
cat('https://github.com', console.log); // and cat read https
-cat('http://fail.google.com', console.log); // if a status code != 2xx is received it will
+cat('http://fail.google.com', console.log); // if a status code != 2xx is received it will
// call the callback with an error.
-```
\ No newline at end of file
+```
diff --git a/tests/src/integration/zipaction/actions/cat/node_modules/cat/bin.js b/tests/src/integration/zipaction/actions/cat/node_modules/cat/bin.js
index 5b61203..29c5c0a 100755
--- a/tests/src/integration/zipaction/actions/cat/node_modules/cat/bin.js
+++ b/tests/src/integration/zipaction/actions/cat/node_modules/cat/bin.js
@@ -1,5 +1,8 @@
#!/usr/bin/env node
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
var fs = require('fs')
var input = process.argv.slice(2)
@@ -11,4 +14,4 @@ var loop = function() {
s.on('end', loop).pipe(process.stdout)
}
-loop()
\ No newline at end of file
+loop()
diff --git a/tests/src/integration/zipaction/actions/cat/node_modules/cat/example.js b/tests/src/integration/zipaction/actions/cat/node_modules/cat/example.js
index 96b6d24..4a6e857 100644
--- a/tests/src/integration/zipaction/actions/cat/node_modules/cat/example.js
+++ b/tests/src/integration/zipaction/actions/cat/node_modules/cat/example.js
@@ -1,5 +1,8 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
var cat = require('./index');
cat(__filename, console.log);
-cat('https://raw.github.com/mafintosh/cat/master/example.js', console.log);
\ No newline at end of file
+cat('https://raw.github.com/mafintosh/cat/master/example.js', console.log);
diff --git a/tests/src/integration/zipaction/actions/cat/node_modules/cat/index.js b/tests/src/integration/zipaction/actions/cat/node_modules/cat/index.js
index 7ba8889..49f2e48 100644
--- a/tests/src/integration/zipaction/actions/cat/node_modules/cat/index.js
+++ b/tests/src/integration/zipaction/actions/cat/node_modules/cat/index.js
@@ -1,54 +1,57 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
var fs = require('fs');
var parse = require('url').parse;
var catter = function(lib) {
- var cat = function(url, callback) {
- if (typeof url === 'string') {
- url = parse(url);
- }
- lib.get({host:url.hostname, port:url.port, path:url.pathname}, function(response) {
- if (/3\d\d/.test(response.statusCode) && response.headers.location) {
- cat(parse(response.headers.location), callback);
- return;
- }
- if (!(/2\d\d/).test(response.statusCode)) {
- callback(new Error('non 2xx status code: ' + response.statusCode));
- return;
- }
- var buffer = '';
-
- response.setEncoding('utf-8');
- response.on('data', function(data) {
- buffer += data;
- });
- response.on('close', function() {
- callback(new Error('unexpected close of response'));
- });
- response.on('end', function() {
- callback(null, buffer);
- });
- }).on('error', callback);
- };
- return cat;
+ var cat = function(url, callback) {
+ if (typeof url === 'string') {
+ url = parse(url);
+ }
+ lib.get({host:url.hostname, port:url.port, path:url.pathname}, function(response) {
+ if (/3\d\d/.test(response.statusCode) && response.headers.location) {
+ cat(parse(response.headers.location), callback);
+ return;
+ }
+ if (!(/2\d\d/).test(response.statusCode)) {
+ callback(new Error('non 2xx status code: ' + response.statusCode));
+ return;
+ }
+ var buffer = '';
+
+ response.setEncoding('utf-8');
+ response.on('data', function(data) {
+ buffer += data;
+ });
+ response.on('close', function() {
+ callback(new Error('unexpected close of response'));
+ });
+ response.on('end', function() {
+ callback(null, buffer);
+ });
+ }).on('error', callback);
+ };
+ return cat;
};
var http = catter(require('http'));
var https = catter(require('https'));
module.exports = function(location, callback) {
- var protocol = (location.match(/^(\w+):\/\//) || [])[1] || 'file';
+ var protocol = (location.match(/^(\w+):\/\//) || [])[1] || 'file';
- if (protocol === 'file') {
- fs.readFile(location.replace(/^(file:\/\/localhost|file:\/\/)/, ''), 'utf-8', callback);
- return;
- }
- if (protocol === 'http') {
- http(location, callback);
- return;
- }
- if (protocol === 'https') {
- https(location, callback);
- return;
- }
- throw new Error('protocol '+protocol+' currently not supported :(');
-};
\ No newline at end of file
+ if (protocol === 'file') {
+ fs.readFile(location.replace(/^(file:\/\/localhost|file:\/\/)/, ''), 'utf-8', callback);
+ return;
+ }
+ if (protocol === 'http') {
+ http(location, callback);
+ return;
+ }
+ if (protocol === 'https') {
+ https(location, callback);
+ return;
+ }
+ throw new Error('protocol '+protocol+' currently not supported :(');
+};
diff --git a/tests/src/integration/zipaction/zipaction_test.go b/tests/src/integration/zipaction/zipaction_test.go
index d2b7463..56e3425 100644
--- a/tests/src/integration/zipaction/zipaction_test.go
+++ b/tests/src/integration/zipaction/zipaction_test.go
@@ -1,12 +1,29 @@
// +build integration
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package tests
import (
- "github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/common"
- "github.com/stretchr/testify/assert"
- "os"
- "testing"
+ "github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/common"
+ "github.com/stretchr/testify/assert"
+ "os"
+ "testing"
)
@@ -14,15 +31,15 @@ var wskprops = common.GetWskprops()
func TestZipAction(t *testing.T) {
- os.Setenv("__OW_API_HOST", wskprops.APIHost)
- wskdeploy := common.NewWskdeploy()
- _, err := wskdeploy.Deploy(manifestPath, deploymentPath)
- assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.")
- _, err = wskdeploy.Undeploy(manifestPath, deploymentPath)
- assert.Equal(t, nil, err, "Failed to undeploy based on the manifest and deployment files.")
+ os.Setenv("__OW_API_HOST", wskprops.APIHost)
+ wskdeploy := common.NewWskdeploy()
+ _, err := wskdeploy.Deploy(manifestPath, deploymentPath)
+ assert.Equal(t, nil, err, "Failed to deploy based on the manifest and deployment files.")
+ _, err = wskdeploy.Undeploy(manifestPath, deploymentPath)
+ assert.Equal(t, nil, err, "Failed to undeploy based on the manifest and deployment files.")
}
var (
- manifestPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/zipaction/manifest.yml"
- deploymentPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/zipaction/deployment.yml"
+ manifestPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/zipaction/manifest.yml"
+ deploymentPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/zipaction/deployment.yml"
)
diff --git a/tests/usecases/data-processing-app/actions/mhget/mhget.js b/tests/usecases/data-processing-app/actions/mhget/mhget.js
index edf6cd2..2d26852 100644
--- a/tests/usecases/data-processing-app/actions/mhget/mhget.js
+++ b/tests/usecases/data-processing-app/actions/mhget/mhget.js
@@ -1,96 +1,83 @@
-/*
- * Copyright 2017 IBM Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
/*
This function is bound to a trigger and is initiated when the message arrives
via OpenWhisk feed connected to Message Hub. Note that many messages can come in
as a large batch. Example input:
{
- "messages": [{
- "partition": 0,
- "key": null,
- "offset": 252,
- "topic": "in-topic",
- "value": {
- "events": [{
- "eventType": "update",
- "timestamp": "2011-01-01T11:11:11.111+02",
- "payload": {
- "velocity": 11,
- "type": "taxi",
- "name": "taxi1",
- "location": {
- "latitude": 11.11,
- "longitude": -1.11
- }
- },
- "deviceType": "taxi",
- "orgId": "Org1",
- "deviceId": "taxi1"
- },
- { ... }
- ]
- }
- },
- { ... }
- ]
+ "messages": [{
+ "partition": 0,
+ "key": null,
+ "offset": 252,
+ "topic": "in-topic",
+ "value": {
+ "events": [{
+ "eventType": "update",
+ "timestamp": "2011-01-01T11:11:11.111+02",
+ "payload": {
+ "velocity": 11,
+ "type": "taxi",
+ "name": "taxi1",
+ "location": {
+ "latitude": 11.11,
+ "longitude": -1.11
+ }
+ },
+ "deviceType": "taxi",
+ "orgId": "Org1",
+ "deviceId": "taxi1"
+ },
+ { ... }
+ ]
+ }
+ },
+ { ... }
+ ]
}
Expected output (merge all events from multiple 'messages' into one big 'events'):
{
- "events": [{
- "eventType": "update",
- "timestamp": "2011-01-01T11:11:11.111+02",
- "payload": {
- "velocity": 11,
- "type": "taxi",
- "name": "taxi1",
- "location": {
- "latitude": 11.11,
- "longitude": -1.11
- }
- },
- "deviceType": "taxi",
- "orgId": "Org1",
- "deviceId": "taxi1"
- },
- { ... }
- ]
+ "events": [{
+ "eventType": "update",
+ "timestamp": "2011-01-01T11:11:11.111+02",
+ "payload": {
+ "velocity": 11,
+ "type": "taxi",
+ "name": "taxi1",
+ "location": {
+ "latitude": 11.11,
+ "longitude": -1.11
+ }
+ },
+ "deviceType": "taxi",
+ "orgId": "Org1",
+ "deviceId": "taxi1"
+ },
+ { ... }
+ ]
}
**/
function main(params) {
- console.log("DEBUG: received the following message as input: " + JSON.stringify(params));
+ console.log("DEBUG: received the following message as input: " + JSON.stringify(params));
- return new Promise(function(resolve, reject) {
- if (!params.messages || !params.messages[0] ||
- !params.messages[0].value || !params.messages[0].value.events) {
- reject("Invalid arguments. Must include 'messages' JSON array with 'value' field");
- }
- var msgs = params.messages;
- var out = [];
- for (var i = 0; i < msgs.length; i++) {
- var msg = msgs[i];
- for (var j = 0; j < msg.value.events.length; j++) {
- out.push(msg.value.events[j]);
- }
- }
- resolve({
- "events": out
- });
- });
-}
\ No newline at end of file
+ return new Promise(function(resolve, reject) {
+ if (!params.messages || !params.messages[0] ||
+ !params.messages[0].value || !params.messages[0].value.events) {
+ reject("Invalid arguments. Must include 'messages' JSON array with 'value' field");
+ }
+ var msgs = params.messages;
+ var out = [];
+ for (var i = 0; i < msgs.length; i++) {
+ var msg = msgs[i];
+ for (var j = 0; j < msg.value.events.length; j++) {
+ out.push(msg.value.events[j]);
+ }
+ }
+ resolve({
+ "events": out
+ });
+ });
+}
diff --git a/tests/usecases/data-processing-app/actions/mhpost/index.js b/tests/usecases/data-processing-app/actions/mhpost/index.js
index b5315b9..520c82d 100644
--- a/tests/usecases/data-processing-app/actions/mhpost/index.js
+++ b/tests/usecases/data-processing-app/actions/mhpost/index.js
@@ -1,18 +1,5 @@
-/*
- * Copyright 2017 IBM Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
/**
* Analyze incoming message and generate a summary as a response
@@ -69,4 +56,4 @@ function mhpost(args) {
});
}
-exports.main = mhpost;
\ No newline at end of file
+exports.main = mhpost;
diff --git a/tests/usecases/openstack/actions/callSlack.js b/tests/usecases/openstack/actions/callSlack.js
index 3cb3370..e6c7916 100644
--- a/tests/usecases/openstack/actions/callSlack.js
+++ b/tests/usecases/openstack/actions/callSlack.js
@@ -1,3 +1,6 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -68,4 +71,4 @@ function post(url, channel, msg) {
}
});
});
-}
\ No newline at end of file
+}
diff --git a/tests/usecases/openstack/actions/createBackup.js b/tests/usecases/openstack/actions/createBackup.js
index 12fba7a..730cbed 100644
--- a/tests/usecases/openstack/actions/createBackup.js
+++ b/tests/usecases/openstack/actions/createBackup.js
@@ -1,3 +1,6 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -80,7 +83,7 @@ function main(params) {
backup_type: backupType,
rotation: rotation
}
- };
+ };
var url = apiEndpoint+'/servers/'+serverId+'/action'
@@ -91,7 +94,7 @@ function main(params) {
headers: headers
};
-
+
var headers = {
'X-Auth-Token':apiToken
};
@@ -126,5 +129,5 @@ function main(params) {
});
});
-
+
}
diff --git a/tests/usecases/openstack/actions/getApiToken.js b/tests/usecases/openstack/actions/getApiToken.js
index d6ac4b3..735115e 100644
--- a/tests/usecases/openstack/actions/getApiToken.js
+++ b/tests/usecases/openstack/actions/getApiToken.js
@@ -1,3 +1,6 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -6,7 +9,7 @@
// Will retrieve the auth token and storage URL for the object store service. Uses V3 of the auth calls
//
// The params object should look like:
-//
+//
// "userId":"f45adsa0d0478c", "password":"sd2rsS^kdfsd", "projectId":"11fdseerff"}
//
// @param userId: user id (not user name)
@@ -15,7 +18,7 @@
// @param host: hostname of keystone endpoint (don't include 'https://')
// @param port: port of keystone endpoint
// @param endpointName: the name of the public endpoint service you want (nova, swift, etc)
-//
+//
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -52,7 +55,7 @@ function main(params) {
context = params.context
}
-
+
var body = {
"auth": {
"identity": {
@@ -96,7 +99,7 @@ function main(params) {
var j = body
var entries = j.token.catalog
-
+
for (var i = 0; i < entries.length; i++) {
var entry = entries[i]
console.log('Comparing '+ entry.name + " with "+endpointName)
@@ -112,11 +115,11 @@ function main(params) {
var urlParts = url.parse(endpoint.url,true)
- var jsonResponse = {apiToken: authToken,
- endpointUrl: endpoint.url,
- host: urlParts.hostname,
- port: urlParts.port,
- path: urlParts.path,
+ var jsonResponse = {apiToken: authToken,
+ endpointUrl: endpoint.url,
+ host: urlParts.hostname,
+ port: urlParts.port,
+ path: urlParts.path,
protocol: urlParts.protocol}
if (context) {
@@ -127,8 +130,8 @@ function main(params) {
}
}
}
- }
-
+ }
+
reject({'msg': 'Cannot find public endpoint in response from keystone'})
} else {
@@ -136,5 +139,5 @@ function main(params) {
}
});
- });
+ });
}
diff --git a/tests/usecases/openstack/actions/getServers.js b/tests/usecases/openstack/actions/getServers.js
index 4e40035..3b34951 100644
--- a/tests/usecases/openstack/actions/getServers.js
+++ b/tests/usecases/openstack/actions/getServers.js
@@ -1,9 +1,13 @@
+
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Get Servers from Nova
//
-// Will retrieve a list of filtered servers from Nova.
+// Will retrieve a list of filtered servers from Nova.
//
// @param apiToken apiToken retrieved from Keystone
//
@@ -32,13 +36,13 @@ function main(params) {
if (params.context) {
context = params.context
}
-
+
var headers = {
'X-Auth-Token':apiToken
};
-
+
var apiEndpoint = protocol+'//'+host+':'+port+path
-
+
var url = apiEndpoint+'/servers'
// hardcode for now
@@ -47,7 +51,7 @@ function main(params) {
headers: headers
};
-
+
if (context && context.queryString) {
options.qs = context.queryString
}
@@ -56,7 +60,7 @@ function main(params) {
return new Promise(function(resolve, reject) {
request(url, options, function(error, res, body) {
-
+
if (error) {
reject(error)
}
@@ -73,11 +77,11 @@ function main(params) {
if (j.servers.length > 0) {
j.serverId = j.servers[0].id
- }
+ }
console.log(j)
resolve(j)
});
});
-
+
}
diff --git a/tools/travis/cloneutils.sh b/tools/travis/cloneutils.sh
new file mode 100755
index 0000000..5a38d3f
--- /dev/null
+++ b/tools/travis/cloneutils.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+set -o xtrace
+
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+HOMEDIR="$SCRIPTDIR/../../../"
+
+# clone OpenWhisk repo. in order to run scanCode.py
+cd $HOMEDIR
+git clone https://github.com/apache/incubator-openwhisk-utilities.git
diff --git a/tools/travis/scancode.sh b/tools/travis/scancode.sh
new file mode 100755
index 0000000..2202c45
--- /dev/null
+++ b/tools/travis/scancode.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+set -e
+
+# Build script for Travis-CI.
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+ROOTDIR="$SCRIPTDIR/../.."
+UTIL_DIR="$ROOTDIR/../incubator-openwhisk-utilities"
+
+# run scancode
+cd $UTIL_DIR
+scancode/scanCode.py $ROOTDIR
\ No newline at end of file
diff --git a/utils/dependencies.go b/utils/dependencies.go
index b3d67b0..524a705 100644
--- a/utils/dependencies.go
+++ b/utils/dependencies.go
@@ -1,4 +1,20 @@
-// dependencies.go
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package utils
import (
diff --git a/utils/flags.go b/utils/flags.go
index c275e20..6102645 100644
--- a/utils/flags.go
+++ b/utils/flags.go
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package utils
var Flags struct {
diff --git a/utils/gitreader.go b/utils/gitreader.go
index 095c1da..471a3dd 100644
--- a/utils/gitreader.go
+++ b/utils/gitreader.go
@@ -1,4 +1,20 @@
-// gitreader.go
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package utils
import (
diff --git a/utils/util_test.go b/utils/util_test.go
index 709a368..1a1b871 100644
--- a/utils/util_test.go
+++ b/utils/util_test.go
@@ -1,5 +1,22 @@
// +build unit
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package utils
import (
--
To stop receiving notification emails like this one, please contact
['"commits@openwhisk.apache.org" <co...@openwhisk.apache.org>'].