From: elinuxhenrik Date: Tue, 31 Jan 2023 09:50:37 +0000 (+0100) Subject: Improve validation for provider management X-Git-Tag: 1.1.0~35 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=a421cac71a805f94c9093f945afedc083c0cf614;p=nonrtric%2Fplt%2Fsme.git Improve validation for provider management Issue-ID: NONRTRIC-814 Signed-off-by: elinuxhenrik Change-Id: If7a10b6c910695acc1e6573981ed0e8873bb5b1a --- 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) {