Skip to content

Commit

Permalink
add a test that we're even loading them correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
hawkowl committed Nov 9, 2023
1 parent 125232a commit 22a369c
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions pkg/operator/controllers/genevalogging/genevalogging_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,20 @@ package genevalogging
// Licensed under the Apache License 2.0.

import (
"context"
"errors"
"fmt"
"strings"
"testing"

"github.com/go-test/deep"
operatorv1 "github.com/openshift/api/operator/v1"
securityv1 "github.com/openshift/api/security/v1"
"github.com/sirupsen/logrus"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
ctrlfake "sigs.k8s.io/controller-runtime/pkg/client/fake"

Expand Down Expand Up @@ -170,3 +174,77 @@ func TestGenevaLoggingDaemonset(t *testing.T) {
})
}
}

func TestGenevaConfigMapResources(t *testing.T) {
tests := []struct {
name string
request ctrl.Request
operatorFlags arov1alpha1.OperatorFlags
validate func([]runtime.Object) []error
}{
{
name: "enabled",
operatorFlags: arov1alpha1.OperatorFlags{
controllerEnabled: "true",
},
validate: func(r []runtime.Object) (errs []error) {
maps := make(map[string]*corev1.ConfigMap)
for _, i := range r {
if d, ok := i.(*corev1.ConfigMap); ok {
maps[d.Name] = d
}
}

c, ok := maps["fluent-config"]
if !ok {
errs = append(errs, errors.New("missing fluent-config"))
} else {
fConf := c.Data["fluent.conf"]
pConf := c.Data["parsers.conf"]

if !strings.Contains(fConf, "[INPUT]") {
errs = append(errs, errors.New("incorrect fluent-config fluent.conf"))
}

if !strings.Contains(pConf, "[PARSER]") {
errs = append(errs, errors.New("incorrect fluent-config parser.conf"))
}
}

return
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
instance := &arov1alpha1.Cluster{
ObjectMeta: metav1.ObjectMeta{Name: "cluster"},
Status: arov1alpha1.ClusterStatus{Conditions: []operatorv1.OperatorCondition{}},
Spec: arov1alpha1.ClusterSpec{
ResourceID: testdatabase.GetResourcePath("00000000-0000-0000-0000-000000000000", "testcluster"),
OperatorFlags: tt.operatorFlags,
ACRDomain: "acrDomain",
},
}

scc := &securityv1.SecurityContextConstraints{
ObjectMeta: metav1.ObjectMeta{Name: "privileged"},
}

r := &Reconciler{
log: logrus.NewEntry(logrus.StandardLogger()),
client: ctrlfake.NewClientBuilder().WithObjects(instance, scc).Build(),
}

out, err := r.resources(context.Background(), instance, []byte{}, []byte{})
if err != nil {
t.Fatal(err)
}

errs := tt.validate(out)
for _, err := range errs {
t.Error(err)
}
})
}
}

0 comments on commit 22a369c

Please sign in to comment.