X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Finternal%2Fsecurityapi%2Ftypevalidation_test.go;h=f44de2f078106e35e0d0cf1e7b48d1e5b5aec0ae;hb=6f91b6ac28e733561200c5faf12029cafed39d3f;hp=0515d06133a01177bbb73fc2b420ec7839da807b;hpb=9e3c79c9e9f3468174a91deb6848e5e386608baf;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/securityapi/typevalidation_test.go b/capifcore/internal/securityapi/typevalidation_test.go index 0515d06..f44de2f 100644 --- a/capifcore/internal/securityapi/typevalidation_test.go +++ b/capifcore/internal/securityapi/typevalidation_test.go @@ -24,6 +24,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "oransc.org/nonrtric/capifcore/internal/publishserviceapi" ) func TestValidateClientIdNotPresent(t *testing.T) { @@ -95,3 +96,50 @@ func TestValidateScopeMalformed(t *testing.T) { valid, err = accessTokenUnderTest.Validate() assert.Equal(t, true, valid) } + +func TestValidateServiceSecurity(t *testing.T) { + serviceSecurityUnderTest := ServiceSecurity{} + + err := serviceSecurityUnderTest.Validate() + assert.NotNil(t, err) + assert.Contains(t, err.Error(), "missing") + assert.Contains(t, err.Error(), "notificationDestination") + + serviceSecurityUnderTest.NotificationDestination = "invalid dest" + err = serviceSecurityUnderTest.Validate() + if assert.Error(t, err) { + assert.Contains(t, err.Error(), "invalid") + assert.Contains(t, err.Error(), "notificationDestination") + } + + serviceSecurityUnderTest.NotificationDestination = "http://golang.cafe/" + err = serviceSecurityUnderTest.Validate() + assert.NotNil(t, err) + assert.Contains(t, err.Error(), "missing") + assert.Contains(t, err.Error(), "SecurityInfo") + + serviceSecurityUnderTest.SecurityInfo = []SecurityInformation{ + { + PrefSecurityMethods: []publishserviceapi.SecurityMethod{ + publishserviceapi.SecurityMethodOAUTH, + }, + }, + } + err = serviceSecurityUnderTest.Validate() + assert.Nil(t, err) +} + +func TestValidatePrefSecurityMethodsNotPresent(t *testing.T) { + securityInfoUnderTest := SecurityInformation{} + err := securityInfoUnderTest.Validate() + + assert.NotNil(t, err) + assert.Contains(t, err.Error(), "missing") + assert.Contains(t, err.Error(), "PrefSecurityMethods") + + securityInfoUnderTest.PrefSecurityMethods = []publishserviceapi.SecurityMethod{ + publishserviceapi.SecurityMethodOAUTH, + } + err = securityInfoUnderTest.Validate() + assert.Nil(t, err) +}