RIC-193 - Setup from RAN fixes: Marshal XML Response, trim whitespaces, convert ricId...
[ric-plt/e2mgr.git] / E2Manager / tests / dataProvider.go
1 //
2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //      http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16
17 //  This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 //  platform project (RICP).
19
20
21 package tests
22
23 import (
24         "bytes"
25         "encoding/json"
26         "fmt"
27         "net/http"
28         "strconv"
29         "testing"
30 )
31
32 const (
33         MaxMsgSize  int    = 4096
34         Port        int    = 3801
35         Flags       int    = 0
36         MessageType int    = 1001
37         RanPort     uint16 = 879
38         RanName     string = "test"
39         RanIp       string = "10.0.0.3"
40 )
41
42 var (
43         DummyPayload = []byte{1, 2, 3, 4}
44         DummyXAction = []byte{5, 6, 7, 8}
45 )
46
47 func GetPort() string {
48         return "tcp:" + strconv.Itoa(Port)
49 }
50
51 func GetHttpRequest() *http.Request {
52         data := map[string]interface{}{"ranIp": RanIp,
53                 "ranPort": RanPort, "ranName": RanName}
54         b := new(bytes.Buffer)
55         _ = json.NewEncoder(b).Encode(data)
56         req, _ := http.NewRequest("POST", "https://localhost:3800/request", b)
57         return req
58 }
59
60 func GetInvalidRequestDetails() *http.Request {
61         data := map[string]interface{}{"ranIp": "256.0.0.0",
62                 "ranPort": RanPort, "ranName": RanName}
63         b := new(bytes.Buffer)
64         _ = json.NewEncoder(b).Encode(data)
65         req, _ := http.NewRequest("POST", "https://localhost:3800/request", b)
66         return req
67 }
68
69 func GetInvalidMessageType() *http.Request {
70         data := map[string]interface{}{"ranIp": "1.2.3.4",
71                 "ranPort": RanPort, "ranName": RanName}
72         b := new(bytes.Buffer)
73         _ = json.NewEncoder(b).Encode(data)
74         req, _ := http.NewRequest("POST", "https://localhost:3800/request", b)
75         return req
76 }
77
78 func GetPackedPayload(t *testing.T) []byte {
79         inputPayloadAsStr := "2006002a000002001500080002f82900007a8000140017000000630002f8290007ab50102002f829000001000133"
80         payload := make([]byte, len(inputPayloadAsStr)/2)
81         _, err := fmt.Sscanf(inputPayloadAsStr, "%x", &payload)
82         if err != nil {
83                 t.Errorf("convert inputPayloadAsStr to payloadAsByte. Error: %v\n", err)
84         }
85         return payload
86 }