102 lines
2.8 KiB
Go
102 lines
2.8 KiB
Go
package operator
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewCheDeployment(t *testing.T) {
|
|
|
|
// create a fake Che deployment
|
|
fakeImage := "fake-image"
|
|
deployment, err := fakeK8s.clientset.AppsV1().Deployments("eclipse-che").Create(newCheDeployment(fakeImage))
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
logrus.Infof("Deployment %s created", deployment.Name)
|
|
|
|
if deployment.Spec.Template.Spec.Containers[0].Image != fakeImage {
|
|
logrus.Fatalf("Expected %s, but got %s", fakeImage, deployment.Spec.Template.Spec.Containers[0].Image)
|
|
}
|
|
}
|
|
|
|
func TestNewCheConfigMap(t *testing.T) {
|
|
// set current infra to k8s
|
|
err := os.Setenv("INFRA", "kubernetes")
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
|
|
// set fake ingress domain env and check if configmap grabs its value
|
|
fakeDomain := "fake-domain"
|
|
fakeDomainEnv := "CHE_INFRA_KUBERNETES_INGRESS_DOMAIN"
|
|
err = os.Setenv(fakeDomainEnv, fakeDomain)
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
|
|
// create a configmap
|
|
cm, err := fakeK8s.clientset.CoreV1().ConfigMaps("eclipse-che").Create(newCheConfigMap(cheHost, keycloakURL))
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
logrus.Infof("ConfigMap %s successfully created", cm.Name)
|
|
|
|
// check env and its value
|
|
cmEnv := cm.Data
|
|
if val, ok := cmEnv["CHE_INFRA_KUBERNETES_INGRESS_DOMAIN"]; ok {
|
|
logrus.Infof("Env found. CHE_INFRA_KUBERNETES_INGRESS_DOMAIN=%s", val)
|
|
if val != fakeDomain {
|
|
logrus.Fatalf("Expected %s but got %s", fakeDomain, val)
|
|
}
|
|
} else {
|
|
logrus.Fatalf("Env %s not found", fakeDomain)
|
|
}
|
|
}
|
|
|
|
func TestNewPostgresDeployment(t *testing.T) {
|
|
|
|
// create a fake Postgres deployment
|
|
deployment, err := fakeK8s.clientset.AppsV1().Deployments("eclipse-che").Create(newPostgresDeployment())
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
logrus.Infof("Deployment %s created", deployment.Name)
|
|
password := deployment.Spec.Template.Spec.Containers[0].Env[1].Value
|
|
|
|
// check if password was properly generated and added to container env
|
|
if len(password) != 12 {
|
|
logrus.Fatalf("Expecting password lenght to be 12, but got %v", len(password))
|
|
}
|
|
}
|
|
|
|
func TestNewKeycloakDeployment(t *testing.T) {
|
|
|
|
//// create a fake Keycloak deployment
|
|
err := os.Setenv("CHE_SELF__SIGNED__CERT", "mycrt")
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
deployment, err := fakeK8s.clientset.AppsV1().Deployments("eclipse-che").Create(newKeycloakDeployment())
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
logrus.Infof("Deployment %s created", deployment.Name)
|
|
|
|
// check if setting self-signed-certificate cert updates env for the container properly
|
|
selfSignedEnv := deployment.Spec.Template.Spec.Containers[0].Env
|
|
var foundEnv bool
|
|
ssoEnv := "SSO_TRUSTSTORE"
|
|
for i := range selfSignedEnv {
|
|
env := selfSignedEnv[i].Name
|
|
if env == ssoEnv {
|
|
logrus.Infof("%s env found: %s", ssoEnv, env)
|
|
foundEnv = true
|
|
}
|
|
}
|
|
if !foundEnv {
|
|
logrus.Fatalf("No %s env found", ssoEnv)
|
|
}
|
|
}
|