Skip to content

Commit d69a9d8

Browse files
jwefersJulian Wefers
authored andcommitted
adapt tests, undo changes outside of my diff requested by coderabbit
Signed-off-by: Julian Wefers <851823+jwefers@users.noreply.github.com>
1 parent bcad0b7 commit d69a9d8

3 files changed

Lines changed: 61 additions & 9 deletions

File tree

pkg/reconciler/managed/reconciler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1527,7 +1527,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (resu
15271527
if observation.Diff != "" {
15281528
msg = fmt.Sprintf("%s Diff:\n%s", errExternalResourceDiffNoUpdate, observation.Diff)
15291529
}
1530-
status.MarkConditions(xpv1.ReconcileForbidden().WithMessage(msg))
1530+
status.MarkConditions(xpv2.ReconcileForbidden().WithMessage(msg))
15311531

15321532
return reconcile.Result{RequeueAfter: reconcileAfter}, errors.Wrap(updateStatus(), errUpdateManagedStatus)
15331533
}

pkg/reconciler/managed/reconciler_legacy_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1765,23 +1765,23 @@ func TestReconciler(t *testing.T) {
17651765
want: want{result: reconcile.Result{Requeue: true}},
17661766
},
17671767
"ObserveOnlySuccessfulObserve": {
1768-
reason: "With Observe, a successfully managed resource observe should trigger a requeue after a long wait.",
1768+
reason: "With Observe, a successful managed resource observe should trigger a requeue after a long wait.",
17691769
args: args{
17701770
m: &fake.Manager{
17711771
Client: &test.MockClient{
17721772
MockGet: test.NewMockGetFn(nil, func(obj client.Object) error {
17731773
mg := asLegacyManaged(obj, 42)
1774-
mg.SetManagementPolicies(xpv1.ManagementPolicies{xpv1.ManagementActionObserve})
1774+
mg.SetManagementPolicies(xpv2.ManagementPolicies{xpv2.ManagementActionObserve})
17751775

17761776
return nil
17771777
}),
17781778
MockStatusUpdate: test.MockSubResourceUpdateFn(func(_ context.Context, obj client.Object, _ ...client.SubResourceUpdateOption) error {
17791779
want := newLegacyManaged(42)
1780-
want.SetManagementPolicies(xpv1.ManagementPolicies{xpv1.ManagementActionObserve})
1781-
want.SetConditions(xpv1.ReconcileSuccess().WithObservedGeneration(42))
1780+
want.SetManagementPolicies(xpv2.ManagementPolicies{xpv2.ManagementActionObserve})
1781+
want.SetConditions(xpv2.ReconcileSuccess().WithObservedGeneration(42).WithObservedGeneration(42))
17821782

17831783
if diff := cmp.Diff(want, obj, test.EquateConditions()); diff != "" {
1784-
reason := "With ObserveOnly, a successfully managed resource observation should be reported as a conditioned status."
1784+
reason := "With ObserveOnly, a successful managed resource observation should be reported as a conditioned status."
17851785
t.Errorf("\nReason: %s\n-want, +got:\n%s", reason, diff)
17861786
}
17871787

@@ -1797,7 +1797,7 @@ func TestReconciler(t *testing.T) {
17971797
WithExternalConnector(ExternalConnectorFn(func(_ context.Context, _ resource.Managed) (ExternalClient, error) {
17981798
c := &ExternalClientFns{
17991799
ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) {
1800-
return ExternalObservation{ResourceExists: true, ResourceUpToDate: true}, nil
1800+
return ExternalObservation{ResourceExists: true}, nil
18011801
},
18021802
DisconnectFn: func(_ context.Context) error {
18031803
return nil
@@ -1829,8 +1829,8 @@ func TestReconciler(t *testing.T) {
18291829
}),
18301830
MockStatusUpdate: test.MockSubResourceUpdateFn(func(_ context.Context, obj client.Object, _ ...client.SubResourceUpdateOption) error {
18311831
want := newLegacyManaged(42)
1832-
want.SetManagementPolicies(xpv1.ManagementPolicies{xpv1.ManagementActionObserve})
1833-
want.SetConditions(xpv1.ReconcileForbidden().WithObservedGeneration(42).WithMessage("External resource differs from desired state, but will not update due to missing 'Update' managementPolicy. Diff:\nmock diff"))
1832+
want.SetManagementPolicies(xpv2.ManagementPolicies{xpv2.ManagementActionObserve})
1833+
want.SetConditions(xpv2.ReconcileForbidden().WithObservedGeneration(42).WithMessage("External resource differs from desired state, but will not update due to missing 'Update' managementPolicy. Diff:\nmock diff"))
18341834

18351835
if diff := cmp.Diff(want, obj, test.EquateConditions()); diff != "" {
18361836
reason := "With ObserveOnly, a managed resource observation with a diff to upstream should be reported as a ReconcileForbidden + Synced=False condition"

pkg/reconciler/managed/reconciler_modern_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1822,6 +1822,58 @@ func TestModernReconciler(t *testing.T) {
18221822
},
18231823
want: want{result: reconcile.Result{RequeueAfter: defaultPollInterval}},
18241824
},
1825+
"ObserveOnlySuccessfulObserveWithDiff": {
1826+
reason: "With Observe, a successful managed resource observe should trigger a requeue after a long wait.",
1827+
args: args{
1828+
m: &fake.Manager{
1829+
Client: &test.MockClient{
1830+
MockGet: test.NewMockGetFn(nil, func(obj client.Object) error {
1831+
mg := asModernManaged(obj, 42)
1832+
mg.SetManagementPolicies(xpv2.ManagementPolicies{xpv2.ManagementActionObserve})
1833+
1834+
return nil
1835+
}),
1836+
MockStatusUpdate: test.MockSubResourceUpdateFn(func(_ context.Context, obj client.Object, _ ...client.SubResourceUpdateOption) error {
1837+
want := newModernManaged(42)
1838+
want.SetManagementPolicies(xpv2.ManagementPolicies{xpv2.ManagementActionObserve})
1839+
want.SetConditions(xpv2.ReconcileSuccess().WithObservedGeneration(42).WithMessage("External resource differs from desired state, but will not update due to missing 'Update' managementPolicy. Diff:\nmock diff"))
1840+
1841+
if diff := cmp.Diff(want, obj, test.EquateConditions()); diff != "" {
1842+
reason := "With ObserveOnly, a successful managed resource observation with a diff between external resource and desired spec should be reported as a Sync=False and ReconcileForbidden"
1843+
t.Errorf("\nReason: %s\n-want, +got:\n%s", reason, diff)
1844+
}
1845+
1846+
return nil
1847+
}),
1848+
},
1849+
Scheme: fake.SchemeWith(&fake.ModernManaged{}),
1850+
},
1851+
mg: resource.ManagedKind(fake.GVK(&fake.ModernManaged{})),
1852+
o: []ReconcilerOption{
1853+
WithInitializers(),
1854+
WithManagementPolicies(),
1855+
WithExternalConnector(ExternalConnectorFn(func(_ context.Context, _ resource.Managed) (ExternalClient, error) {
1856+
c := &ExternalClientFns{
1857+
ObserveFn: func(_ context.Context, _ resource.Managed) (ExternalObservation, error) {
1858+
return ExternalObservation{ResourceExists: true, ResourceUpToDate: false, Diff: "mock diff"}, nil
1859+
},
1860+
DisconnectFn: func(_ context.Context) error {
1861+
return nil
1862+
},
1863+
}
1864+
1865+
return c, nil
1866+
})),
1867+
withLocalConnectionPublishers(LocalConnectionPublisherFns{
1868+
PublishConnectionFn: func(_ context.Context, _ resource.LocalConnectionSecretOwner, _ ConnectionDetails) (bool, error) {
1869+
return false, nil
1870+
},
1871+
}),
1872+
WithFinalizer(resource.FinalizerFns{AddFinalizerFn: func(_ context.Context, _ resource.Object) error { return nil }}),
1873+
},
1874+
},
1875+
want: want{result: reconcile.Result{RequeueAfter: defaultPollInterval}},
1876+
},
18251877
"ManagementPolicyAllCreateSuccessful": {
18261878
reason: "Successful managed resource creation using management policy all should trigger a requeue after a short wait.",
18271879
args: args{

0 commit comments

Comments
 (0)