- assert.True(t, invokerUnderTest.IsInvokerRegistered("api_invoker_id_invoker_a"))
- assert.True(t, invokerUnderTest.VerifyInvokerSecret("api_invoker_id_invoker_a", "onboarding_secret_invoker_a"))
- publishRegisterMock.AssertCalled(t, "AreAPIsPublished", mock.Anything)
+ assert.True(t, invokerUnderTest.IsInvokerRegistered(wantedInvokerId))
+ assert.True(t, invokerUnderTest.VerifyInvokerSecret(wantedInvokerId, wantedInvokerSecret))
+ publishRegisterMock.AssertCalled(t, "GetAllPublishedServices")
+ assert.Equal(t, invokermanagementapi.APIList(publishedServices), *resultInvoker.ApiList)
+ if invokerEvent, timeout := waitForEvent(eventChannel, 1*time.Second); timeout {
+ assert.Fail(t, "No event sent")
+ } else {
+ assert.Equal(t, *resultInvoker.ApiInvokerId, (*invokerEvent.EventDetail.ApiInvokerIds)[0])
+ assert.Equal(t, eventsapi.CAPIFEventAPIINVOKERONBOARDED, invokerEvent.Events)
+ }
+
+ // Onboarding the same invoker should result in Forbidden
+ result = testutil.NewRequest().Post("/onboardedInvokers").WithJsonBody(newInvoker).Go(t, requestHandler)
+
+ assert.Equal(t, http.StatusForbidden, result.Code())
+ var problemDetails common29122.ProblemDetails
+ err = result.UnmarshalBodyToObject(&problemDetails)
+ assert.NoError(t, err, "error unmarshaling response")
+ assert.Equal(t, http.StatusForbidden, *problemDetails.Status)
+ assert.Contains(t, *problemDetails.Cause, "already onboarded")