Files
fx-serverless/deploy/k8s/kubernetes_test.go
2019-11-27 20:47:49 +08:00

51 lines
999 B
Go

package k8s
import (
"context"
"os"
"testing"
"github.com/metrue/fx/types"
)
func TestK8SDeployer(t *testing.T) {
name := "hellohello"
bindings := []types.PortBinding{
types.PortBinding{
ServiceBindingPort: 80,
ContainerExposePort: 3000,
},
types.PortBinding{
ServiceBindingPort: 443,
ContainerExposePort: 3000,
},
}
kubeconfig := os.Getenv("KUBECONFIG")
username := os.Getenv("DOCKER_USERNAME")
password := os.Getenv("DOCKER_PASSWORD")
if kubeconfig == "" || username == "" || password == "" {
t.Skip("skip test since no KUBECONFIG, DOCKER_USERNAME and DOCKER_PASSWORD given in environment variable")
}
k8s, err := Create("")
if err != nil {
t.Fatal(err)
}
fn := types.Func{
Language: "node",
Source: `
module.exports = (ctx) => {
ctx.body = 'hello world'
}
`,
}
ctx := context.Background()
if err := k8s.Deploy(ctx, fn, name, name, bindings); err != nil {
t.Fatal(err)
}
if err := k8s.Destroy(ctx, name); err != nil {
t.Fatal(err)
}
}