// - // ========================LICENSE_START================================= // O-RAN-SC // %% // Copyright (C) 2022: Nordix Foundation // %% // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ========================LICENSE_END=================================== // package main import ( "net/http" "testing" "github.com/deepmap/oapi-codegen/pkg/testutil" "github.com/labstack/echo/v4" "github.com/stretchr/testify/assert" ) var e *echo.Echo func Test_routing(t *testing.T) { e = getEcho() type args struct { url string returnStatus int method string } tests := []struct { name string args args }{ { name: "Default path", args: args{ url: "/", returnStatus: http.StatusOK, method: "GET", }, }, { name: "Provider path", args: args{ url: "/api-provider-management/v1/registrations/provider", returnStatus: http.StatusNoContent, method: "DELETE", }, }, { name: "Publish path", args: args{ url: "/published-apis/v1/apfId/service-apis/serviceId", returnStatus: http.StatusNotFound, method: "GET", }, }, { name: "Discover path", args: args{ url: "/service-apis/v1/allServiceAPIs?api-invoker-id=api_invoker_id", returnStatus: http.StatusOK, method: "GET", }, }, { name: "Invoker path", args: args{ url: "/api-invoker-management/v1/onboardedInvokers/invoker", returnStatus: http.StatusNoContent, method: "DELETE", }, }, { name: "Security path", args: args{ url: "/capif-security/v1/trustedInvokers/apiInvokerId", returnStatus: http.StatusNotImplemented, method: "GET", }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { var result *testutil.CompletedRequest if tt.args.method == "GET" { result = testutil.NewRequest().Get(tt.args.url).Go(t, e) } else if tt.args.method == "DELETE" { result = testutil.NewRequest().Delete(tt.args.url).Go(t, e) } assert.Equal(t, tt.args.returnStatus, result.Code(), tt.name) }) } }