@@ -21,6 +21,7 @@ import (
2121"sigs.k8s.io/controller-runtime/pkg/reconcile"
2222
2323"github.com/crunchydata/postgres-operator/internal/controller/runtime"
24+ "github.com/crunchydata/postgres-operator/internal/feature"
2425"github.com/crunchydata/postgres-operator/internal/initialize"
2526"github.com/crunchydata/postgres-operator/internal/naming"
2627"github.com/crunchydata/postgres-operator/internal/testing/cmp"
@@ -787,6 +788,7 @@ postgres-operator.crunchydata.com/role: replica
787788}
788789
789790func TestPatroniLogSize (t * testing.T ) {
791+ ctx := context .Background ()
790792
791793oneHundredMeg , err := resource .ParseQuantity ("100M" )
792794assert .NilError (t , err )
@@ -805,7 +807,7 @@ func TestPatroniLogSize(t *testing.T) {
805807recorder := events .NewRecorder (t , runtime .Scheme )
806808reconciler := & Reconciler {Recorder : recorder }
807809
808- size := reconciler .patroniLogSize (& cluster )
810+ size := reconciler .patroniLogSize (ctx , & cluster )
809811
810812assert .Equal (t , size , int64 (0 ))
811813assert .Equal (t , len (recorder .Events ), 0 )
@@ -818,7 +820,7 @@ func TestPatroniLogSize(t *testing.T) {
818820cluster .Spec .Patroni = & v1beta1.PatroniSpec {
819821Logging : & v1beta1.PatroniLogConfig {}}
820822
821- size := reconciler .patroniLogSize (& cluster )
823+ size := reconciler .patroniLogSize (ctx , & cluster )
822824
823825assert .Equal (t , size , int64 (0 ))
824826assert .Equal (t , len (recorder .Events ), 0 )
@@ -833,7 +835,7 @@ func TestPatroniLogSize(t *testing.T) {
833835StorageLimit : & oneHundredMeg ,
834836}}
835837
836- size := reconciler .patroniLogSize (& cluster )
838+ size := reconciler .patroniLogSize (ctx , & cluster )
837839
838840assert .Equal (t , size , int64 (100000000 ))
839841assert .Equal (t , len (recorder .Events ), 0 )
@@ -848,12 +850,51 @@ func TestPatroniLogSize(t *testing.T) {
848850StorageLimit : & tooSmall ,
849851}}
850852
851- size := reconciler .patroniLogSize (& cluster )
853+ size := reconciler .patroniLogSize (ctx , & cluster )
852854
853855assert .Equal (t , size , int64 (25000000 ))
854856assert .Equal (t , len (recorder .Events ), 1 )
855857assert .Equal (t , recorder .Events [0 ].Regarding .Name , cluster .Name )
856858assert .Equal (t , recorder .Events [0 ].Reason , "PatroniLogStorageLimitTooSmall" )
857859assert .Equal (t , recorder .Events [0 ].Note , "Configured Patroni log storage limit is too small. File size will default to 25M." )
858860})
861+
862+ t .Run ("SizeUnsetOtelLogsEnabled" , func (t * testing.T ) {
863+ gate := feature .NewGate ()
864+ assert .NilError (t , gate .SetFromMap (map [string ]bool {
865+ feature .OpenTelemetryLogs : true ,
866+ }))
867+ ctx := feature .NewContext (ctx , gate )
868+
869+ recorder := events .NewRecorder (t , runtime .Scheme )
870+ reconciler := & Reconciler {Recorder : recorder }
871+
872+ cluster .Spec .Patroni = nil
873+
874+ size := reconciler .patroniLogSize (ctx , & cluster )
875+
876+ assert .Equal (t , size , int64 (25000000 ))
877+ assert .Equal (t , len (recorder .Events ), 0 )
878+ })
879+
880+ t .Run ("SizeSetOtelLogsEnabled" , func (t * testing.T ) {
881+ gate := feature .NewGate ()
882+ assert .NilError (t , gate .SetFromMap (map [string ]bool {
883+ feature .OpenTelemetryLogs : true ,
884+ }))
885+ ctx := feature .NewContext (ctx , gate )
886+
887+ recorder := events .NewRecorder (t , runtime .Scheme )
888+ reconciler := & Reconciler {Recorder : recorder }
889+
890+ cluster .Spec .Patroni = & v1beta1.PatroniSpec {
891+ Logging : & v1beta1.PatroniLogConfig {
892+ StorageLimit : & oneHundredMeg ,
893+ }}
894+
895+ size := reconciler .patroniLogSize (ctx , & cluster )
896+
897+ assert .Equal (t , size , int64 (100000000 ))
898+ assert .Equal (t , len (recorder .Events ), 0 )
899+ })
859900}
0 commit comments