Add license to docs
[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
18 package tests
19
20 import (
21         "bytes"
22         "encoding/json"
23         "fmt"
24         "net/http"
25         "strconv"
26         "testing"
27 )
28
29 const (
30         MaxMsgSize  int    = 4096
31         Port        int    = 5555
32         Flags       int    = 0
33         MessageType int    = 1001
34         RanPort     uint16 = 879
35         RanName     string = "test"
36         RanIp       string = "10.0.0.3"
37 )
38
39 var (
40         DummyPayload = []byte{1, 2, 3, 4}
41         DummyXAction = []byte{5, 6, 7, 8}
42 )
43
44 func GetPort() string {
45         return "tcp:" + strconv.Itoa(Port)
46 }
47
48 func GetHttpRequest() *http.Request {
49         data := map[string]interface{}{"ranIp": RanIp,
50                 "ranPort": RanPort, "ranName": RanName}
51         b := new(bytes.Buffer)
52         _ = json.NewEncoder(b).Encode(data)
53         req, _ := http.NewRequest("POST", "https://localhost:3800/request", b)
54         return req
55 }
56
57 func GetInvalidRequestDetails() *http.Request {
58         data := map[string]interface{}{"ranIp": "256.0.0.0",
59                 "ranPort": RanPort, "ranName": RanName}
60         b := new(bytes.Buffer)
61         _ = json.NewEncoder(b).Encode(data)
62         req, _ := http.NewRequest("POST", "https://localhost:3800/request", b)
63         return req
64 }
65
66 func GetInvalidMessageType() *http.Request {
67         data := map[string]interface{}{"ranIp": "1.2.3.4",
68                 "ranPort": RanPort, "ranName": RanName}
69         b := new(bytes.Buffer)
70         _ = json.NewEncoder(b).Encode(data)
71         req, _ := http.NewRequest("POST", "https://localhost:3800/request", b)
72         return req
73 }
74
75 func GetPackedPayload(t *testing.T) []byte {
76         inputPayloadAsStr := "2006002a000002001500080002f82900007a8000140017000000630002f8290007ab50102002f829000001000133"
77         payload := make([]byte, len(inputPayloadAsStr)/2)
78         _, err := fmt.Sscanf(inputPayloadAsStr, "%x", &payload)
79         if err != nil {
80                 t.Errorf("convert inputPayloadAsStr to payloadAsByte. Error: %v\n", err)
81         }
82         return payload
83 }