From a421cac71a805f94c9093f945afedc083c0cf614 Mon Sep 17 00:00:00 2001 From: elinuxhenrik Date: Tue, 31 Jan 2023 10:50:37 +0100 Subject: [PATCH] Improve validation for provider management Issue-ID: NONRTRIC-814 Signed-off-by: elinuxhenrik Change-Id: If7a10b6c910695acc1e6573981ed0e8873bb5b1a --- capifcore/internal/providermanagementapi/typevalidation.go | 5 ++++- capifcore/internal/providermanagementapi/typevalidation_test.go | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/capifcore/internal/providermanagementapi/typevalidation.go b/capifcore/internal/providermanagementapi/typevalidation.go index 1b2e582..c873f30 100644 --- a/capifcore/internal/providermanagementapi/typevalidation.go +++ b/capifcore/internal/providermanagementapi/typevalidation.go @@ -34,12 +34,15 @@ func (ri RegistrationInformation) Validate() error { } func (fd APIProviderFunctionDetails) Validate() error { + if len(strings.TrimSpace(string(fd.ApiProvFuncRole))) == 0 { + return errors.New("APIProviderFunctionDetails missing required apiProvFuncRole") + } switch role := fd.ApiProvFuncRole; role { case ApiProviderFuncRoleAEF: case ApiProviderFuncRoleAPF: case ApiProviderFuncRoleAMF: default: - return errors.New("APIProviderFunctionDetails missing required apiProvFuncRole") + return errors.New("APIProviderFunctionDetails has invalid apiProvFuncRole") } return fd.RegInfo.Validate() diff --git a/capifcore/internal/providermanagementapi/typevalidation_test.go b/capifcore/internal/providermanagementapi/typevalidation_test.go index 3980b19..7698aab 100644 --- a/capifcore/internal/providermanagementapi/typevalidation_test.go +++ b/capifcore/internal/providermanagementapi/typevalidation_test.go @@ -59,6 +59,14 @@ func TestValidateAPIProviderFunctionDetails(t *testing.T) { assert.Contains(t, err.Error(), "apiProvFuncRole") } + var invalidFuncRole ApiProviderFuncRole = "invalid" + funcDetailsUnderTest.ApiProvFuncRole = invalidFuncRole + err = funcDetailsUnderTest.Validate() + if assert.Error(t, err) { + assert.Contains(t, err.Error(), "invalid") + assert.Contains(t, err.Error(), "apiProvFuncRole") + } + funcDetailsUnderTest.ApiProvFuncRole = ApiProviderFuncRoleAEF err = funcDetailsUnderTest.Validate() if assert.Error(t, err) { -- 2.16.6