blob: 41a6606f04380fc039b5d1da74b499d5d372f0d5 [file] [log] [blame]
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +02001/*
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*/
19package teststub
20
21import (
22 "fmt"
23 "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
24 "os"
Juha Hyttinen73486252020-04-06 15:01:52 +030025 "strconv"
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +020026 "testing"
27)
28
29//-----------------------------------------------------------------------------
30//
31//-----------------------------------------------------------------------------
32type RmrControl struct {
33 TestWrapper
Juha Hyttinen73486252020-04-06 15:01:52 +030034 syncChan chan struct{}
35 DataPort uint16
36 RoutePort uint16
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +020037}
38
39func (tc *RmrControl) ReadyCB(data interface{}) {
40 tc.syncChan <- struct{}{}
41 return
42}
43
44func (tc *RmrControl) WaitCB() {
45 <-tc.syncChan
46}
47
Juha Hyttinen73486252020-04-06 15:01:52 +030048func (tc *RmrControl) Init(desc string, rtfile string, port uint16, rtport uint16) {
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +020049 tc.TestWrapper.Init(desc)
Juha Hyttinen73486252020-04-06 15:01:52 +030050 tc.DataPort = port
51 tc.RoutePort = rtport
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +020052 os.Setenv("RMR_SEED_RT", rtfile)
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +020053 xapp.Logger.Info("Using rt file %s", os.Getenv("RMR_SEED_RT"))
Juha Hyttinen73486252020-04-06 15:01:52 +030054 if tc.DataPort > 0 {
55 os.Setenv("RMR_SRC_ID", "localhost:"+strconv.FormatUint(uint64(tc.DataPort), 10))
56 xapp.Logger.Info("Using src id %s", os.Getenv("RMR_SRC_ID"))
57 }
58 if tc.RoutePort > 0 {
59 os.Setenv("RMR_RTG_SVC", "localhost:"+strconv.FormatUint(uint64(tc.RoutePort), 10))
60 xapp.Logger.Info("Using rtg svc %s", os.Getenv("RMR_RTG_SVC"))
61 }
Juha Hyttinen5f8ffa02020-02-06 15:28:59 +020062 tc.syncChan = make(chan struct{})
63}
64
65func (tc *RmrControl) TestError(t *testing.T, pattern string, args ...interface{}) {
66 tc.Logger.Error(fmt.Sprintf(pattern, args...))
67 t.Errorf(fmt.Sprintf(pattern, args...))
68}
69
70func (tc *RmrControl) TestLog(t *testing.T, pattern string, args ...interface{}) {
71 tc.Logger.Info(fmt.Sprintf(pattern, args...))
72 t.Logf(fmt.Sprintf(pattern, args...))
73}