X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Finternal%2Finvokermanagement%2Finvokermanagement.go;h=0dea817490cfc09696830c59af79a104c3e2f346;hb=HEAD;hp=ae90164633774120f89eb055a8566fa726d2bdcf;hpb=b70522851289af2045d3d0c950b053b5673705cd;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/invokermanagement/invokermanagement.go b/capifcore/internal/invokermanagement/invokermanagement.go index ae90164..0dea817 100644 --- a/capifcore/internal/invokermanagement/invokermanagement.go +++ b/capifcore/internal/invokermanagement/invokermanagement.go @@ -114,7 +114,7 @@ func (im *InvokerManager) PostOnboardedInvokers(ctx echo.Context) error { return sendCoreError(ctx, http.StatusForbidden, fmt.Sprintf(errMsg, err)) } - if err = im.validateInvoker(newInvoker, ctx); err != nil { + if err = im.validateInvoker(newInvoker); err != nil { return sendCoreError(ctx, http.StatusBadRequest, fmt.Sprintf(errMsg, err)) } @@ -155,7 +155,15 @@ func (im *InvokerManager) prepareNewInvoker(newInvoker *invokerapi.APIInvokerEnr defer im.lock.Unlock() newInvoker.PrepareNewInvoker() - im.addClientInKeycloak(newInvoker) + + if im.keycloak != nil { + // The type assertion fails when unit testing from ServiceManager where we use Capif as a library, and we are not using Keycloak. + if _, ok := im.keycloak.(*keycloak.KeycloakManager); !ok { + // im.keycloak is not nil and its dynamic value is not nil. + im.addClientInKeycloak(newInvoker) + } + } + im.onboardedInvokers[*newInvoker.ApiInvokerId] = *newInvoker } @@ -212,7 +220,7 @@ func (im *InvokerManager) PutOnboardedInvokersOnboardingId(ctx echo.Context, onb return sendCoreError(ctx, http.StatusBadRequest, fmt.Sprintf(errMsg, errMismatch)) } - if err := im.validateInvoker(newInvoker, ctx); err != nil { + if err := im.validateInvoker(newInvoker); err != nil { return sendCoreError(ctx, http.StatusBadRequest, fmt.Sprintf(errMsg, err)) } @@ -241,7 +249,7 @@ func (im *InvokerManager) ModifyIndApiInvokeEnrolment(ctx echo.Context, onboardi return ctx.NoContent(http.StatusNotImplemented) } -func (im *InvokerManager) validateInvoker(invoker invokerapi.APIInvokerEnrolmentDetails, ctx echo.Context) error { +func (im *InvokerManager) validateInvoker(invoker invokerapi.APIInvokerEnrolmentDetails) error { if err := invoker.Validate(); err != nil { return err }