github.com/metaprov/modela-operator@v0.0.0-20240118193048-f378be8b74d2/controllers/components/grafana_test.go (about)

     1  package components
     2  
     3  import (
     4  	"context"
     5  	"github.com/metaprov/modela-operator/api/v1alpha1"
     6  	"github.com/metaprov/modela-operator/pkg/kube"
     7  	. "github.com/onsi/ginkgo"
     8  	. "github.com/onsi/gomega"
     9  	k8serr "k8s.io/apimachinery/pkg/api/errors"
    10  	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    11  )
    12  
    13  var _ = Describe("Grafana installer", func() {
    14  	grafana := NewGrafana()
    15  
    16  	It("Should install grafana", func() {
    17  		if installed, err := grafana.Installed(context.Background()); err == v1alpha1.ComponentNotInstalledByModelaError || installed {
    18  			Skip("Test should be run on an empty cluster")
    19  			return
    20  		}
    21  
    22  		Expect(grafana.Install(context.Background(), &v1alpha1.Modela{
    23  			ObjectMeta: v1.ObjectMeta{Name: "modela-test"},
    24  		})).To(BeNil())
    25  
    26  		By("Checking if it was installed")
    27  		installed, err := grafana.Installed(context.Background())
    28  		Expect(err).NotTo(HaveOccurred())
    29  		Expect(installed).To(BeTrue())
    30  
    31  		changeDeploymentModelaOperatorLabel(false, "grafana", "grafana-stack")
    32  		installed, err = grafana.Installed(context.Background())
    33  		Expect(err).To(Equal(v1alpha1.ComponentNotInstalledByModelaError))
    34  
    35  		By("Uninstalling grafana")
    36  		Expect(grafana.Uninstall(context.Background(), &v1alpha1.Modela{})).To(BeNil())
    37  		_, err = kube.IsDeploymentCreatedByModela("grafana", "grafana-stack")
    38  		Expect(k8serr.IsNotFound(err)).To(BeTrue())
    39  
    40  		By("Checking if it was uninstalled")
    41  		installed, err = grafana.Installed(context.Background())
    42  		Expect(err).NotTo(HaveOccurred())
    43  		Expect(installed).To(BeFalse())
    44  
    45  	})
    46  })