Files
fx-serverless/infra/k8s/deploy_test.go
Minghe d7130c4e28 support a project with multiple files (#392)
* support a project with multiple files
* fix lint issue
* fix test
2019-12-05 17:57:39 +08:00

48 lines
1013 B
Go

package k8s
import (
"context"
"os"
"testing"
"github.com/metrue/fx/packer"
"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)
}
data, err := packer.PackIntoK8SConfigMapFile("./fixture")
if err != nil {
t.Fatal(err)
}
ctx := context.Background()
if err := k8s.Deploy(ctx, data, name, name, bindings); err != nil {
t.Fatal(err)
}
if err := k8s.Destroy(ctx, name); err != nil {
t.Fatal(err)
}
}