Fix tests 36/9436/1
authorelinuxhenrik <henrik.b.andersson@est.tech>
Mon, 31 Oct 2022 08:41:08 +0000 (09:41 +0100)
committerelinuxhenrik <henrik.b.andersson@est.tech>
Mon, 31 Oct 2022 08:41:16 +0000 (09:41 +0100)
Issue-ID: NONRTRIC-812
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
Change-Id: I106200f33b7ca081db919543db4ac1006d5a8a87

capifcore/internal/invokermanagement/invokermanagement_test.go
capifcore/internal/providermanagement/providermanagement_test.go
capifcore/internal/publishservice/publishservice_test.go

index 63f7509..2c95658 100644 (file)
@@ -120,7 +120,7 @@ func TestOnboardInvoker(t *testing.T) {
        var problemDetails common29122.ProblemDetails
        err = result.UnmarshalBodyToObject(&problemDetails)
        assert.NoError(t, err, "error unmarshaling response")
-       badRequest := 400
+       badRequest := http.StatusBadRequest
        assert.Equal(t, &badRequest, problemDetails.Status)
        errMsg := "Invoker missing required NotificationDestination"
        assert.Equal(t, &errMsg, problemDetails.Cause)
@@ -205,7 +205,7 @@ func TestUpdateInvoker(t *testing.T) {
        var problemDetails common29122.ProblemDetails
        err = result.UnmarshalBodyToObject(&problemDetails)
        assert.NoError(t, err, "error unmarshaling response")
-       badRequest := 400
+       badRequest := http.StatusBadRequest
        assert.Equal(t, &badRequest, problemDetails.Status)
        errMsg := "Invoker missing required NotificationDestination"
        assert.Equal(t, &errMsg, problemDetails.Cause)
@@ -243,7 +243,7 @@ func TestUpdateInvoker(t *testing.T) {
        assert.Equal(t, http.StatusNotFound, result.Code())
        err = result.UnmarshalBodyToObject(&problemDetails)
        assert.NoError(t, err, "error unmarshaling response")
-       notFound := 404
+       notFound := http.StatusNotFound
        assert.Equal(t, &notFound, problemDetails.Status)
        errMsg = "The invoker to update has not been onboarded"
        assert.Equal(t, &errMsg, problemDetails.Cause)
index 06919e5..069bcc4 100644 (file)
@@ -121,7 +121,7 @@ func TestProviderHandlingValidation(t *testing.T) {
        var problemDetails common29122.ProblemDetails
        err := result.UnmarshalBodyToObject(&problemDetails)
        assert.NoError(t, err, "error unmarshaling response")
-       badRequest := 400
+       badRequest := http.StatusBadRequest
        assert.Equal(t, &badRequest, problemDetails.Status)
        errMsg := "Provider missing required ApiProvDomInfo"
        assert.Equal(t, &errMsg, problemDetails.Cause)
index 9262b11..a631071 100644 (file)
@@ -26,6 +26,7 @@ import (
        "os"
        "testing"
 
+       "oransc.org/nonrtric/capifcore/internal/common29122"
        "oransc.org/nonrtric/capifcore/internal/providermanagement"
 
        "github.com/labstack/echo/v4"
@@ -60,32 +61,7 @@ func TestPublishUnpublishService(t *testing.T) {
        domainName := "domain"
        var protocol publishapi.Protocol = "HTTP_1_1"
        description := "Description,namespace,repoName,chartName,releaseName"
-       newServiceDescription := publishapi.ServiceAPIDescription{
-               AefProfiles: &[]publishapi.AefProfile{
-                       {
-                               AefId:      aefId,
-                               DomainName: &domainName,
-                               Protocol:   &protocol,
-                               Versions: []publishapi.Version{
-                                       {
-                                               ApiVersion: "v1",
-                                               Resources: &[]publishapi.Resource{
-                                                       {
-                                                               CommType: "REQUEST_RESPONSE",
-                                                               Operations: &[]publishapi.Operation{
-                                                                       "POST",
-                                                               },
-                                                               ResourceName: "app",
-                                                               Uri:          "app",
-                                                       },
-                                               },
-                                       },
-                               },
-                       },
-               },
-               ApiName:     "app-management",
-               Description: &description,
-       }
+       newServiceDescription := getServiceAPIDescription(aefId, domainName, description, protocol)
 
        // Publish a service
        result = testutil.NewRequest().Post("/aefId/service-apis").WithJsonBody(newServiceDescription).Go(t, requestHandler)
@@ -126,6 +102,30 @@ func TestPublishUnpublishService(t *testing.T) {
        assert.Equal(t, http.StatusNotFound, result.Code())
 }
 
+func TestPostUnpublishedServiceWithUnregisteredFunction(t *testing.T) {
+       aefId := "aefId"
+       serviceRegisterMock := serviceMocks.ServiceRegister{}
+       serviceRegisterMock.On("IsFunctionRegistered", aefId).Return(false)
+       _, requestHandler := getEcho(&serviceRegisterMock, nil)
+
+       domainName := "domain"
+       var protocol publishapi.Protocol = "HTTP_1_1"
+       description := "Description"
+       newServiceDescription := getServiceAPIDescription(aefId, domainName, description, protocol)
+
+       // Publish a service
+       result := testutil.NewRequest().Post("/aefId/service-apis").WithJsonBody(newServiceDescription).Go(t, requestHandler)
+
+       assert.Equal(t, http.StatusNotFound, result.Code())
+       var resultError common29122.ProblemDetails
+       err := result.UnmarshalBodyToObject(&resultError)
+       assert.NoError(t, err, "error unmarshaling response")
+       errMsg := "Function not registered, aefId"
+       assert.Equal(t, &errMsg, resultError.Cause)
+       notFound := http.StatusNotFound
+       assert.Equal(t, &notFound, resultError.Status)
+}
+
 func getEcho(serviceRegister providermanagement.ServiceRegister, helmManager helmmanagement.HelmManager) (*PublishService, *echo.Echo) {
        swagger, err := publishapi.GetSwagger()
        if err != nil {
@@ -144,3 +144,32 @@ func getEcho(serviceRegister providermanagement.ServiceRegister, helmManager hel
        publishapi.RegisterHandlers(e, ps)
        return ps, e
 }
+
+func getServiceAPIDescription(aefId, domainName, description string, protocol publishapi.Protocol) publishapi.ServiceAPIDescription {
+       return publishapi.ServiceAPIDescription{
+               AefProfiles: &[]publishapi.AefProfile{
+                       {
+                               AefId:      aefId,
+                               DomainName: &domainName,
+                               Protocol:   &protocol,
+                               Versions: []publishapi.Version{
+                                       {
+                                               ApiVersion: "v1",
+                                               Resources: &[]publishapi.Resource{
+                                                       {
+                                                               CommType: "REQUEST_RESPONSE",
+                                                               Operations: &[]publishapi.Operation{
+                                                                       "POST",
+                                                               },
+                                                               ResourceName: "app",
+                                                               Uri:          "app",
+                                                       },
+                                               },
+                                       },
+                               },
+                       },
+               },
+               ApiName:     "app-management",
+               Description: &description,
+       }
+}