Skip to content

Commit

Permalink
Adding RefereceResolver tests to managed_reconciler_test.go
Browse files Browse the repository at this point in the history
Signed-off-by: soorena776 <javad@upbound.io>
  • Loading branch information
soorena776 committed Oct 18, 2019
1 parent ae55a15 commit 8dacf45
Showing 1 changed file with 103 additions and 0 deletions.
103 changes: 103 additions & 0 deletions pkg/resource/managed_reconciler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ func TestManagedReconciler(t *testing.T) {
}

errBoom := errors.New("boom")
errNotReady := NewNotReadyErr([]string{"resource z"})
now := metav1.Now()
testFinalizers := []string{"finalizer.crossplane.io"}
testConnectionDetails := ConnectionDetails{
Expand Down Expand Up @@ -517,6 +518,108 @@ func TestManagedReconciler(t *testing.T) {
},
want: want{result: reconcile.Result{RequeueAfter: defaultManagedShortWait}},
},
"ResolveReferences_NotReadyErr_ReturnsExpected": {
args: args{
m: &MockManager{
c: &test.MockClient{
MockGet: test.NewMockGetFn(nil),
MockStatusUpdate: test.MockStatusUpdateFn(func(_ context.Context, obj runtime.Object, _ ...client.UpdateOption) error {
want := &MockManaged{}
want.SetConditions(v1alpha1.ReferenceResolutionBlocked(errNotReady))
want.SetFinalizers(testFinalizers)
if diff := cmp.Diff(want, obj, test.EquateConditions()); diff != "" {
t.Errorf("-want, +got:\n%s", diff)
}
return nil
}),
},
s: MockSchemeWith(&MockManaged{}),
},
mg: ManagedKind(MockGVK(&MockManaged{})),
e: &ExternalClientFns{
ObserveFn: func(_ context.Context, _ Managed) (ExternalObservation, error) {
return ExternalObservation{
ResourceExists: false,
}, nil
},
},
o: []ManagedReconcilerOption{
func(r *ManagedReconciler) {
r.managed.ManagedConnectionPublisher = ManagedConnectionPublisherFns{
PublishConnectionFn: func(_ context.Context, _ Managed, c ConnectionDetails) error {
if diff := cmp.Diff(0, len(c)); diff != "" {
t.Errorf("-want, +got:\n%s", diff)
}
return nil
},
}
},
func(r *ManagedReconciler) {
r.managed.ManagedInitializer = ManagedInitializerFn(func(_ context.Context, mg Managed) error {
mg.SetFinalizers(testFinalizers)
return nil
})
},
func(r *ManagedReconciler) {
r.managed.ManagedReferenceResolver = ManagedReferenceResolverFn(func(_ context.Context, mg Managed) error {
return errNotReady
})
},
},
},
want: want{result: reconcile.Result{RequeueAfter: defaultManagedLongWait}},
},
"ResolveReferences_OtherError_ReturnsExpected": {
args: args{
m: &MockManager{
c: &test.MockClient{
MockGet: test.NewMockGetFn(nil),
MockStatusUpdate: test.MockStatusUpdateFn(func(_ context.Context, obj runtime.Object, _ ...client.UpdateOption) error {
want := &MockManaged{}
want.SetConditions(v1alpha1.ReconcileError(errBoom))
want.SetFinalizers(testFinalizers)
if diff := cmp.Diff(want, obj, test.EquateConditions()); diff != "" {
t.Errorf("-want, +got:\n%s", diff)
}
return nil
}),
},
s: MockSchemeWith(&MockManaged{}),
},
mg: ManagedKind(MockGVK(&MockManaged{})),
e: &ExternalClientFns{
ObserveFn: func(_ context.Context, _ Managed) (ExternalObservation, error) {
return ExternalObservation{
ResourceExists: false,
}, nil
},
},
o: []ManagedReconcilerOption{
func(r *ManagedReconciler) {
r.managed.ManagedConnectionPublisher = ManagedConnectionPublisherFns{
PublishConnectionFn: func(_ context.Context, _ Managed, c ConnectionDetails) error {
if diff := cmp.Diff(0, len(c)); diff != "" {
t.Errorf("-want, +got:\n%s", diff)
}
return nil
},
}
},
func(r *ManagedReconciler) {
r.managed.ManagedInitializer = ManagedInitializerFn(func(_ context.Context, mg Managed) error {
mg.SetFinalizers(testFinalizers)
return nil
})
},
func(r *ManagedReconciler) {
r.managed.ManagedReferenceResolver = ManagedReferenceResolverFn(func(_ context.Context, mg Managed) error {
return errBoom
})
},
},
},
want: want{result: reconcile.Result{RequeueAfter: defaultManagedLongWait}},
},
"EstablishResourceDoesNotExistError": {
args: args{
m: &MockManager{
Expand Down

0 comments on commit 8dacf45

Please sign in to comment.