fn: support for functions testing (#379)

* fn: add test framework

* fn: make routes creation smarter

* fn: add testframework examples

* fn: remove unnecessary dependency

* fn: update doc

* fn: fix consistenty between runff, runlocaltest and runremotetest
This commit is contained in:
C Cirello
2016-12-05 17:05:06 +01:00
committed by Seif Lotfy سيف لطفي
parent 49cc0f6533
commit 28f713ed11
17 changed files with 442 additions and 51 deletions

View File

@@ -0,0 +1,16 @@
# Example of IronFunctions test framework - running functions locally
This example will show you how to run a test suite on a function.
```sh
# build the test image (testframework:0.0.1)
fn build
# test it
fn test
```
Alternatively, you can force a rebuild before the test suite with:
```sh
# build and test it
fn test -b
```

View File

@@ -0,0 +1,14 @@
package main
import (
"fmt"
"os"
)
func main() {
envvar := os.Getenv("HEADER_ENVVAR")
if envvar != "" {
fmt.Println("HEADER_ENVVAR:", envvar)
}
fmt.Println("hw")
}

View File

@@ -0,0 +1,15 @@
name: testframework
version: 0.0.1
runtime: go
entrypoint: ./func
path: /tests
tests:
- name: simple
out: |
hw
- name: envvar
out: |
HEADER_ENVVAR: trololo
hw
env:
envvar: trololo

View File

@@ -0,0 +1,14 @@
# Example of IronFunctions test framework - running functions remotely
This example will show you how to run a test suite on a function.
```sh
# build the test image (iron/functions-testframework:0.0.1)
fn build
# push it
fn push
# create a route for the testframework
fn routes create testframework
# test it
fn test --remote testframework
```

View File

@@ -0,0 +1,14 @@
package main
import (
"fmt"
"os"
)
func main() {
envvar := os.Getenv("HEADER_ENVVAR")
if envvar != "" {
fmt.Println("HEADER_ENVVAR:", envvar)
}
fmt.Println("hw")
}

View File

@@ -0,0 +1,15 @@
name: iron/functions-testframework
version: 0.0.1
runtime: go
entrypoint: ./func
path: /tests
tests:
- name: simple
out: |
hw
- name: envvar
out: |
HEADER_ENVVAR: trololo
hw
env:
envvar: trololo