Fix tests
Issue-ID: NONRTRIC-812
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
Change-Id: I106200f33b7ca081db919543db4ac1006d5a8a87
diff --git a/capifcore/internal/invokermanagement/invokermanagement_test.go b/capifcore/internal/invokermanagement/invokermanagement_test.go
index 63f7509..2c95658 100644
--- a/capifcore/internal/invokermanagement/invokermanagement_test.go
+++ b/capifcore/internal/invokermanagement/invokermanagement_test.go
@@ -120,7 +120,7 @@
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 @@
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 @@
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, ¬Found, problemDetails.Status)
errMsg = "The invoker to update has not been onboarded"
assert.Equal(t, &errMsg, problemDetails.Cause)
diff --git a/capifcore/internal/providermanagement/providermanagement_test.go b/capifcore/internal/providermanagement/providermanagement_test.go
index 06919e5..069bcc4 100644
--- a/capifcore/internal/providermanagement/providermanagement_test.go
+++ b/capifcore/internal/providermanagement/providermanagement_test.go
@@ -121,7 +121,7 @@
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)
diff --git a/capifcore/internal/publishservice/publishservice_test.go b/capifcore/internal/publishservice/publishservice_test.go
index 9262b11..a631071 100644
--- a/capifcore/internal/publishservice/publishservice_test.go
+++ b/capifcore/internal/publishservice/publishservice_test.go
@@ -26,6 +26,7 @@
"os"
"testing"
+ "oransc.org/nonrtric/capifcore/internal/common29122"
"oransc.org/nonrtric/capifcore/internal/providermanagement"
"github.com/labstack/echo/v4"
@@ -60,32 +61,7 @@
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 @@
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, ¬Found, resultError.Status)
+}
+
func getEcho(serviceRegister providermanagement.ServiceRegister, helmManager helmmanagement.HelmManager) (*PublishService, *echo.Echo) {
swagger, err := publishapi.GetSwagger()
if err != nil {
@@ -144,3 +144,32 @@
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,
+ }
+}