Enable API Gateway integration test in Travis (#923)
* an attempt to enable api gateway test in travis
* fixing race condition while running integration test
* renaming rules and triggers
* fixing action source file location
diff --git a/tests/src/integration/apigateway/apigateway_test.go b/tests/src/integration/apigateway/apigateway_test.go
index a75a033..6bc3355 100644
--- a/tests/src/integration/apigateway/apigateway_test.go
+++ b/tests/src/integration/apigateway/apigateway_test.go
@@ -1,4 +1,4 @@
-// +build skip_integration
+// +build integration
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/tests/src/integration/apigateway/manifest.yml b/tests/src/integration/apigateway/manifest.yml
index defdff8..888ab86 100644
--- a/tests/src/integration/apigateway/manifest.yml
+++ b/tests/src/integration/apigateway/manifest.yml
@@ -39,4 +39,5 @@
deleteBooks: DELETE
members:
listMembers: GET
+ allMembers:
listAllMembers: GET
diff --git a/tests/src/integration/export/export_test.go b/tests/src/integration/export/export_test.go
index 63f8fce..7e2a0bc 100644
--- a/tests/src/integration/export/export_test.go
+++ b/tests/src/integration/export/export_test.go
@@ -116,7 +116,7 @@
targetManifestFolder = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/export/tmp/"
targetManifestPath = targetManifestFolder + "manifest.yaml"
- manifestHelloWorldPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/helloworld/manifest.yaml"
+ manifestHelloWorldPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/export/manifest_helloworld.yaml"
targetManifestHelloWorldPath = targetManifestFolder + "manifest.yaml"
manifest2PackPath = os.Getenv("GOPATH") + "/src/github.com/apache/incubator-openwhisk-wskdeploy/tests/src/integration/export/manifest_2pack.yaml"
target2PackManifestPath = targetManifestFolder + "exported2packmanifest.yaml"
diff --git a/tests/src/integration/export/manifest_helloworld.yaml b/tests/src/integration/export/manifest_helloworld.yaml
new file mode 100644
index 0000000..32011cd
--- /dev/null
+++ b/tests/src/integration/export/manifest_helloworld.yaml
@@ -0,0 +1,153 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more contributor
+# license agreements; and to You under the Apache License, Version 2.0.
+
+packages:
+ IntegrationTestExportHelloWorld:
+ actions:
+ # helloworld action in NodeJS
+ helloNodejs:
+ function: ../helloworld/actions/hello.js
+ runtime: nodejs:6
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ place:
+ type: string
+ description: location of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello World!
+ helloNodejsWithCode:
+ code: |
+ function main(params) {
+ msg = "Hello, " + params.name + " from " + params.place;
+ console.log(msg)
+ return { payload: msg };
+ }
+ runtime: nodejs:6
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ place:
+ type: string
+ description: location of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello World!
+ # helloworld action in Java
+ helloJava:
+ function: ../helloworld/actions/hello.jar
+ main: Hello
+ runtime: java
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello Bob!
+# Uncomment Java With Code once action creation is fixed.
+# this is failing with internal server application problem.
+# helloJavaWithCode:
+# code: |
+# import com.google.gson.JsonObject;
+# public class Hello {
+# private JsonObject response;
+# public static JsonObject main(JsonObject args) {
+# String name = "stranger";
+# if (args.has("name"))
+# name = args.getAsJsonPrimitive("name").getAsString();
+# JsonObject response = new JsonObject();
+# response.addProperty("greeting", "Hello " + name + "!");
+# System.out.println(response);
+# return response;
+# }
+# }
+# main: Hello
+# runtime: java
+# inputs:
+# name:
+# type: string
+# description: name of a person
+# outputs:
+# payload:
+# type: string
+# description: a simple greeting message, Hello Bob!
+ # helloworld action in python
+ helloPython:
+ function: ../helloworld/actions/hello.py
+ runtime: python
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello Henry!
+ helloPythonWithCode:
+ code: |
+ def main(args):
+ name = args.get("name", "stranger")
+ greeting = "Hello " + name + "!"
+ print(greeting)
+ return {"greeting": greeting}
+ runtime: python
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello Henry!
+ # helloworld action in swift
+ helloSwift:
+ function: ../helloworld/actions/hello.swift
+ runtime: swift:3.1.1
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello stranger!
+ helloSwiftWithCode:
+ code: |
+ func main(args: [String:Any]) -> [String:Any] {
+ var msg = ["greeting": "Hello stranger!"]
+ if let name = args["name"] as? String {
+ if !name.isEmpty {
+ msg["greeting"] = "Hello \(name)!"
+ }
+ }
+ print (msg)
+ return msg
+ }
+ runtime: swift:3.1.1
+ inputs:
+ name:
+ type: string
+ description: name of a person
+ outputs:
+ payload:
+ type: string
+ description: a simple greeting message, Hello stranger!
+ sequences:
+ # sequence of helloworld in all four runtimes
+ hello-world-series:
+ actions: helloNodejs, helloNodejsWithCode, helloJava, helloPython, helloPythonWithCode, helloSwift, helloSwiftWithCode
+ triggers:
+ # trigger to activate helloworld sequence
+ triggerExportHelloworld:
+ rules:
+ # rule associating trigger with sequence of helloworld actions
+ ruleMappingExportHelloworld:
+ trigger: triggerExportHelloworld
+ action: hello-world-series
diff --git a/tools/travis/script.sh b/tools/travis/script.sh
index 923905d..21db832 100755
--- a/tools/travis/script.sh
+++ b/tools/travis/script.sh
@@ -53,6 +53,7 @@
$ANSIBLE_CMD initdb.yml
$ANSIBLE_CMD wipe.yml
+$ANSIBLE_CMD apigateway.yml
$ANSIBLE_CMD openwhisk.yml -e '{"openwhisk_cli":{"installation_mode":"remote","remote":{"name":"OpenWhisk_CLI","dest_name":"OpenWhisk_CLI","location":"https://github.com/apache/incubator-openwhisk-cli/releases/download/latest"}}}'