reflect code review

This commit is contained in:
Felix Kunde 2022-03-24 11:43:28 +01:00
parent 6a65d121de
commit d5ba24767f
4 changed files with 17 additions and 15 deletions

View File

@ -28,9 +28,7 @@ const (
)
var logger = logrus.New().WithField("test", "cluster")
// bufferSize might have to be increased when unit test cover functions emitting events
var eventRecorder = record.NewFakeRecorder(5)
var eventRecorder = record.NewFakeRecorder(1)
var cl = New(
Config{

View File

@ -228,19 +228,15 @@ func (c *Cluster) generateResourceRequirements(
defaultResources acidv1.Resources,
containerName string) (*v1.ResourceRequirements, error) {
var err error
specRequests := acidv1.ResourceDescription{}
specLimits := acidv1.ResourceDescription{}
result := v1.ResourceRequirements{}
var specRequests, specLimits acidv1.ResourceDescription
if resources == nil {
specRequests = acidv1.ResourceDescription{}
specLimits = acidv1.ResourceDescription{}
} else {
if resources != nil {
specRequests = resources.ResourceRequests
specLimits = resources.ResourceLimits
}
result := v1.ResourceRequirements{}
result.Requests, err = fillResourceList(specRequests, defaultResources.ResourceRequests)
if err != nil {
return nil, fmt.Errorf("could not fill resource requests: %v", err)

View File

@ -30,6 +30,7 @@ import (
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/client-go/kubernetes/fake"
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/client-go/tools/record"
)
func newFakeK8sTestClient() (k8sutil.KubernetesClient, *fake.Clientset) {
@ -1676,6 +1677,10 @@ func TestGenerateResourceRequirements(t *testing.T) {
roleLabel := "spilo-role"
sidecarName := "postgres-exporter"
// two test cases will call enforceMinResourceLimits which emits 2 events per call
// hence bufferSize of 4 is required
newEventRecorder := record.NewFakeRecorder(4)
configResources := config.Resources{
ClusterLabels: map[string]string{"application": "spilo"},
ClusterNameLabel: clusterNameLabel,
@ -1954,7 +1959,7 @@ func TestGenerateResourceRequirements(t *testing.T) {
var cluster = New(
Config{
OpConfig: tt.config,
}, client, tt.pgSpec, logger, eventRecorder)
}, client, tt.pgSpec, logger, newEventRecorder)
cluster.Name = clusterName
cluster.Namespace = namespace

View File

@ -597,9 +597,12 @@ func trimCronjobName(name string) string {
func parseResourceRequirements(resourcesRequirement v1.ResourceRequirements) (acidv1.Resources, error) {
var resources acidv1.Resources
resourcesJSON, _ := json.Marshal(resourcesRequirement)
if err := json.Unmarshal(resourcesJSON, &resources); err != nil {
return acidv1.Resources{}, fmt.Errorf("could not convert K8s resources requirements into acidv1.Resources struct")
resourcesJSON, err := json.Marshal(resourcesRequirement)
if err != nil {
return acidv1.Resources{}, fmt.Errorf("could not marshal K8s resources requirements")
}
if err = json.Unmarshal(resourcesJSON, &resources); err != nil {
return acidv1.Resources{}, fmt.Errorf("could not unmarshal K8s resources requirements into acidv1.Resources struct")
}
return resources, nil
}