MCPcopy
hub / github.com/argoproj/argo-cd / TestAutoSyncIndicateError

Function TestAutoSyncIndicateError

controller/appcontroller_test.go:892–924  ·  view source on GitHub ↗

TestAutoSyncIndicateError verifies we skip auto-sync and return error condition if previous sync failed

(t *testing.T)

Source from the content-addressed store, hash-verified

890
891// TestAutoSyncIndicateError verifies we skip auto-sync and return error condition if previous sync failed
892func TestAutoSyncIndicateError(t *testing.T) {
893 app := newFakeApp()
894 app.Spec.Source.Helm = &v1alpha1.ApplicationSourceHelm{
895 Parameters: []v1alpha1.HelmParameter{
896 {
897 Name: "a",
898 Value: "1",
899 },
900 },
901 }
902 ctrl := newFakeController(t.Context(), &fakeData{apps: []runtime.Object{app}}, nil)
903 syncStatus := v1alpha1.SyncStatus{
904 Status: v1alpha1.SyncStatusCodeOutOfSync,
905 Revision: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
906 }
907 app.Status.OperationState = &v1alpha1.OperationState{
908 Operation: v1alpha1.Operation{
909 Sync: &v1alpha1.SyncOperation{
910 Source: app.Spec.Source.DeepCopy(),
911 },
912 },
913 Phase: synccommon.OperationFailed,
914 SyncResult: &v1alpha1.SyncOperationResult{
915 Revision: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
916 Source: *app.Spec.Source.DeepCopy(),
917 },
918 }
919 cond, _ := ctrl.autoSync(app, &syncStatus, []v1alpha1.ResourceStatus{{Name: "guestbook", Kind: kube.DeploymentKind, Status: v1alpha1.SyncStatusCodeOutOfSync}}, true)
920 assert.NotNil(t, cond)
921 app, err := ctrl.applicationClientset.ArgoprojV1alpha1().Applications(test.FakeArgoCDNamespace).Get(t.Context(), "my-app", metav1.GetOptions{})
922 require.NoError(t, err)
923 assert.Nil(t, app.Operation)
924}
925
926// TestAutoSyncParameterOverrides verifies we auto-sync if revision is same but parameter overrides are different
927func TestAutoSyncParameterOverrides(t *testing.T) {

Callers

nothing calls this directly

Calls 8

newFakeControllerFunction · 0.85
autoSyncMethod · 0.80
newFakeAppFunction · 0.70
ContextMethod · 0.65
GetMethod · 0.65
ApplicationsMethod · 0.65
ArgoprojV1alpha1Method · 0.65
DeepCopyMethod · 0.45

Tested by

no test coverage detected