Updates for G Maintenance release
[nonrtric/plt/sme.git] / capifcore / internal / publishserviceapi / typevalidation_test.go
1 // -
2 //
3 //      ========================LICENSE_START=================================
4 //      O-RAN-SC
5 //      %%
6 //      Copyright (C) 2023: Nordix Foundation
7 //      %%
8 //      Licensed under the Apache License, Version 2.0 (the "License");
9 //      you may not use this file except in compliance with the License.
10 //      You may obtain a copy of the License at
11 //
12 //           http://www.apache.org/licenses/LICENSE-2.0
13 //
14 //      Unless required by applicable law or agreed to in writing, software
15 //      distributed under the License is distributed on an "AS IS" BASIS,
16 //      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 //      See the License for the specific language governing permissions and
18 //      limitations under the License.
19 //      ========================LICENSE_END===================================
20 package publishserviceapi
21
22 import (
23         "testing"
24
25         "github.com/stretchr/testify/assert"
26 )
27
28 func TestValidate(t *testing.T) {
29         serviceDescriptionUnderTest := ServiceAPIDescription{}
30         err := serviceDescriptionUnderTest.Validate()
31         if assert.Error(t, err) {
32                 assert.Contains(t, err.Error(), "missing")
33                 assert.Contains(t, err.Error(), "apiName")
34         }
35
36         serviceDescriptionUnderTest.ApiName = "apiName"
37         err = serviceDescriptionUnderTest.Validate()
38         assert.Nil(t, err)
39
40 }
41
42 func TestValidateAlreadyPublished(t *testing.T) {
43         apiName := "apiName"
44         serviceUnderTest := ServiceAPIDescription{
45                 ApiName: apiName,
46         }
47
48         otherService := ServiceAPIDescription{
49                 ApiName: "otherApiName",
50         }
51         assert.Nil(t, serviceUnderTest.ValidateAlreadyPublished(otherService))
52
53         otherService.ApiName = apiName
54         assert.NotNil(t, serviceUnderTest.ValidateAlreadyPublished(otherService))
55 }