Files
fx-serverless/deploy/kubernetes/kubernetes_test.go
Minghe 047fac2a0a Docker image build in Cluster (#327)
* * image build in cluster now
  use InitContainer to do the image building inside pods, which invoke
  docker again node's docker daemon
* create a docker build image tool fx/contrib/docker_packer
* clean up no need env in GitHub action workflow
* bump version
2019-10-16 23:37:52 +08:00

51 lines
998 B
Go

package kubernetes
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, bindings); err != nil {
t.Fatal(err)
}
if err := k8s.Destroy(ctx, name); err != nil {
t.Fatal(err)
}
}