UT for SetPolicyInstanceStatus
[ric-plt/a1.git] / a1-go / pkg / policy / policyManager_test.go
1 package policy
2
3 import (
4         "os"
5         "strconv"
6         "testing"
7
8         "gerrit.o-ran-sc.org/r/ric-plt/a1/pkg/a1"
9         "github.com/stretchr/testify/assert"
10         "github.com/stretchr/testify/mock"
11 )
12
13 type SdlMock struct {
14         mock.Mock
15 }
16
17 var sdlInst *SdlMock
18 var pm *PolicyManager
19
20 func TestMain(m *testing.M) {
21         sdlInst = new(SdlMock)
22         a1.Init()
23         pm = createPolicyManager(sdlInst)
24         code := m.Run()
25         os.Exit(code)
26 }
27 func TestSetPolicyInstance(t *testing.T) {
28         var policyTypeId int
29         policyTypeId = 20001
30         var policyInstanceID int
31         policyInstanceID = 123456
32         var status string
33         status = "OK"
34         instancehandlerKey := a1HandlerPrefix + strconv.FormatInt(20001, 10) + "." + strconv.FormatInt(int64(policyInstanceID), 10)
35         instancearr := []interface{}{instancehandlerKey, status}
36         sdlInst.On("Set", "A1m_ns", instancehandlerKey, instancearr).Return(nil)
37         errresp := pm.SetPolicyInstanceStatus(policyTypeId, policyInstanceID, status)
38         assert.NoError(t, errresp)
39
40         sdlInst.AssertExpectations(t)
41 }
42
43 func (s *SdlMock) Set(ns string, pairs ...interface{}) error {
44         args := s.MethodCalled("Set", ns, pairs)
45         return args.Error(0)
46 }
47
48 func (s *SdlMock) Get(ns string, keys []string) (map[string]interface{}, error) {
49         a1.Logger.Error("Get Called ")
50         return map[string]interface{}{}, nil
51 }
52
53 func (s *SdlMock) GetAll(ns string) ([]string, error) {
54         args := s.MethodCalled("GetAll", ns)
55         return args.Get(0).([]string), nil
56 }