2 ==================================================================================
3 Copyright (c) 2019 AT&T Intellectual Property.
4 Copyright (c) 2019 Nokia
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
18 This source code is part of the near-RT RIC (RAN Intelligent Controller)
19 platform project (RICP).
21 ==================================================================================
24 Mnemonic: nngpush_test.go
32 "routing-manager/pkg/rtmgr"
33 "routing-manager/pkg/stub"
36 "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
40 type Consumer struct{}
42 func (m Consumer) Consume(params *xapp.RMRParams) (err error) {
43 xapp.Sdl.Store("myKey", params.Payload)
48 func TestMain(m *testing.M) {
49 go xapp.RunWithParams(Consumer{}, false)
50 time.Sleep(time.Duration(5) * time.Second)
56 Resets the EndpointList according to argumnets
58 func resetTestPushDataset(instance NngPush, testdata []rtmgr.Endpoint) {
59 rtmgr.Eps = make(map[string]*rtmgr.Endpoint)
60 for _, endpoint := range testdata {
62 //ep.Socket, _ = instance.NewSocket()
63 rtmgr.Eps[ep.Uuid] = &ep
68 nngpush.Initialize() method is empty, nothing to be tested
70 func TestNngPushInitialize(t *testing.T) {
71 var nngpush = NngPush{}
73 _ = nngpush.Initialize("")
77 nngpush.Terminate() method is empty, nothing to be tested
79 func TestNngPushTerminate(t *testing.T) {
80 var nngpush = NngPush{}
82 _ = nngpush.Terminate()
86 nngpush.UpdateEndpoints() is testd against stub.ValidXApps dataset
88 func TestNngPushUpdateEndpoints(t *testing.T) {
89 var nngpush = NngPush{}
90 resetTestPushDataset(nngpush, stub.ValidEndpoints)
92 nngpush.UpdateEndpoints(&stub.ValidRicComponents)
94 t.Errorf("nngpush.UpdateEndpoints() result was incorrect, got: %v, want: %v.", nil, "rtmgr.Endpoints")
99 nngpush.AddEndpoint() is tested for happy path case
101 func TestNngPushAddEndpoint(t *testing.T) {
103 var nngpush = NngPush{}
104 resetTestPushDataset(nngpush, stub.ValidEndpoints)
105 _ = nngpush.AddEndpoint(rtmgr.Eps["localhost"])
107 t.Errorf("nngpush.AddEndpoint() return was incorrect, got: %v, want: %v.", err, "nil")
113 nngpush.DistributeAll() is tested for happy path case
115 func TestNngPushDistributeAll(t *testing.T) {
117 var nngpush = NngPush{}
118 resetTestPushDataset(nngpush, stub.ValidEndpoints)
120 err = nngpush.DistributeAll(stub.ValidPolicies)
122 t.Errorf("nngpush.DistributeAll(policies) was incorrect, got: %v, want: %v.", err, "nil")
127 nngpush.DistributeToEp() is tested for Sending case
129 func TestDistributeToEp(t *testing.T) {
131 var nngpush = NngPush{}
132 resetTestPushDataset(nngpush, stub.ValidEndpoints)
134 err = nngpush.DistributeToEp(stub.ValidPolicies,rtmgr.Eps["localhost"])
136 t.Errorf("nngpush.DistributetoEp(policies) was incorrect, got: %v, want: %v.", err, "nil")
140 func TestDeleteEndpoint(t *testing.T) {
142 var nngpush = NngPush{}
143 resetTestPushDataset(nngpush, stub.ValidEndpoints)
145 err = nngpush.DeleteEndpoint(rtmgr.Eps["localhost"])
147 t.Errorf("nngpush.DeleteEndpoint() was incorrect, got: %v, want: %v.", err, "nil")
151 func TestCreateEndpoint(t *testing.T) {
152 var nngpush = NngPush{}
153 resetTestPushDataset(nngpush, stub.ValidEndpoints1)
154 nngpush.CreateEndpoint("192.168.0.1:0")
155 nngpush.CreateEndpoint("localhost:4560")
158 Initialize and send policies
160 func TestNngPushInitializeandsendPolicies(t *testing.T) {
161 var nngpush = NngPush{}
162 resetTestPushDataset(nngpush, stub.ValidEndpoints)
163 policies := []string{"hello","welcome"}
164 nngpush.send(rtmgr.Eps["localhost"],&policies)