RIC-851: Updated rtmgr to create xapp routes
[ric-plt/rtmgr.git] / pkg / rpe / rmr_test.go
1 /*
2 ==================================================================================
3    Copyright (c) 2019 AT&T Intellectual Property.
4    Copyright (c) 2019 Nokia
5
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
9
10        http://www.apache.org/licenses/LICENSE-2.0
11
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.
17
18
19    This source code is part of the near-RT RIC (RAN Intelligent Controller)
20    platform project (RICP).
21
22 ==================================================================================
23 */
24 /*
25         Mnemonic:       rmrpub_test.go
26         Abstract:
27         Date:           25 April 2019
28 */
29 package rpe
30
31 import (
32         "routing-manager/pkg/rtmgr"
33         "routing-manager/pkg/stub"
34         "testing"
35 )
36
37 func resetTestDataset(testdata []rtmgr.Endpoint) {
38         rtmgr.Eps = make(map[string]*rtmgr.Endpoint)
39         for _, endpoint := range testdata {
40                 ep := endpoint
41                 rtmgr.Eps[ep.Uuid] = &ep
42         }
43 }
44
45 /*
46 RmrPush.GeneratePolicies() method is tested for happy path case
47 */
48 func TestRmrPushGeneratePolicies(t *testing.T) {
49         var rmrpush = RmrPush{}
50         var pcs rtmgr.RicComponents
51         resetTestDataset(stub.ValidEndpoints1)
52         stub.ValidPlatformComponents = nil
53         rtmgr.Subs = *stub.ValidSubscriptions
54         rtmgr.PrsCfg = stub.DummyRoutes
55         stub.E2map["E2instance1.com"] = stub.ValidE2TInstance
56         pcs = stub.ValidRicComponents
57
58         rawrt := rmrpush.GeneratePolicies(rtmgr.Eps, &pcs)
59     rawrt = rmrpush.GeneratePartialPolicies(rtmgr.Eps,nil,1)
60     rawrt = rmrpush.GeneratePartialPolicies(rtmgr.Eps,nil,0)
61     rawrt = rmrpush.GeneratePartialPolicies(rtmgr.Eps,&stub.XappSubData,1)
62     rawrt = rmrpush.GeneratePartialPolicies(rtmgr.Eps,&stub.XappSubData,0)
63         t.Log(rawrt)
64 }
65
66 /*
67 getEndpointByUuid: Pass empty and valid values
68 */
69 func TestRmrgetEndpointByUuid(t *testing.T) {
70         var ep *rtmgr.Endpoint
71         ep = getEndpointByUuid("")
72         t.Logf("getEndpointByUuid() return was correct, got: %v, want: %v.", ep, "<nil>")
73         ep = getEndpointByUuid("10.0.0.1:0")
74 }
75
76 /*
77 GetRpe Instance with empty and valid values
78 */
79 func TestRmrGetRpe(t *testing.T) {
80         _, _ = GetRpe("")
81         _, _ = GetRpe("rmrpush")
82 }
83
84 /*
85 generateRouteTable with empty Platform components
86 */
87 func TestGenerateRouteTableRmrGetRpe(t *testing.T) {
88         rpe := Rpe{}
89         _ = rpe.generateRouteTable(stub.ValidEndPointsEmpty)
90 }