Ctrl K
ComunidadGuías…

pkg/gitops/insights/timing_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package insights

import (
	"testing"

	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)

func TestBuildFluxDatesDescribeRecordedEvents(t *testing.T) {
	kustomization := &unstructured.Unstructured{Object: map[string]any{
		"apiVersion": "kustomize.toolkit.fluxcd.io/v1", "kind": "Kustomization",
		"status": map[string]any{
			"lastAppliedRevision": "main@sha1:current", "lastAttemptedRevision": "main@sha1:failed",
			"lastHandledReconcileAt": "2026-10-01T00:00:00Z",
			"history":                []any{map[string]any{"lastReconciled": "2026-10-30T12:00:00Z", "lastReconciledStatus": "ReconciliationFailed"}},
		},
	}}
	summary := Build(kustomization, nil, nil).Summary
	if summary.LastRevision != "main@sha1:current" || summary.LastApplyAttempt != "2026-10-30T12:00:00Z" || summary.LastApplied != "" || summary.LastReconcile != "" {
		t.Fatalf("Kustomization summary = %+v", summary)
	}
	_ = unstructured.SetNestedSlice(kustomization.Object, []any{map[string]any{"lastReconciled": "2026-10-30T12:05:00Z", "lastReconciledStatus": "ReconciliationSucceeded"}}, "status", "history")
	if summary := Build(kustomization, nil, nil).Summary; summary.LastApplied != "2026-10-30T12:05:00Z" || summary.LastApplyAttempt != "" {
		t.Fatalf("successful apply summary = %+v", summary)
	}
	unstructured.RemoveNestedField(kustomization.Object, "status", "history")
	if summary := Build(kustomization, nil, nil).Summary; summary.LastApplyAttempt != "" || summary.LastApplied != "" || summary.LastReconcile != "" {
		t.Fatalf("missing history invented time: %+v", summary)
	}
	helm := &unstructured.Unstructured{Object: map[string]any{
		"apiVersion": "helm.toolkit.fluxcd.io/v2", "kind": "HelmRelease",
		"status": map[string]any{"lastAttemptedRevision": "1.3.0", "lastHandledReconcileAt": "manual-marker", "history": []any{
			map[string]any{"version": int64(5), "chartVersion": "1.3.0", "status": "failed", "lastDeployed": "2026-10-30T12:00:00Z"},
			map[string]any{"version": int64(4), "chartVersion": "1.2.0", "status": "deployed", "lastDeployed": "2026-10-27T12:00:00Z"},
		}},
	}}
	summary = Build(helm, nil, nil).Summary
	if summary.LastRevision != "1.2.0" || summary.TargetRevision != "1.3.0" || summary.LastDeployed != "2026-10-27T12:00:00Z" || summary.LastReconcile != "" {
		t.Fatalf("Helm summary = %+v", summary)
	}
	history := []any{map[string]any{"version": int64(6), "status": "deployed", "lastDeployed": "2026-10-30T12:00:00Z"}}
	if err := unstructured.SetNestedField(helm.Object, "1.1.0", "status", "lastAppliedRevision"); err != nil {
		t.Fatal(err)
	}
	if err := unstructured.SetNestedSlice(helm.Object, history, "status", "history"); err != nil {
		t.Fatal(err)
	}
	if summary := Build(helm, nil, nil).Summary; summary.LastDeployed != "" || summary.LastRevision != "1.1.0" {
		t.Fatalf("unknown deployed chart was paired with attempted revision: %+v", summary)
	}
}