Roll versions after J-Relase (master branch)
[nonrtric/plt/sme.git] / capifcore / internal / invokermanagement / invokermanagement.go
index ae90164..0dea817 100644 (file)
@@ -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
        }