First commit
This commit is contained in:
17
setup/e2mgr/.gitignore
vendored
Normal file
17
setup/e2mgr/.gitignore
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/.idea/*
|
||||
.vscode/launch.json
|
||||
*.o
|
||||
*.a
|
||||
E2Manager/3rdparty/asn1codec/e2ap_engine/converter-example
|
||||
E2Manager/3rdparty/asn1codec/tests/
|
||||
E2Manager/cp.out
|
||||
Automation/Tests/**/*.xml
|
||||
__pycache__/
|
||||
*.html
|
||||
*.log
|
||||
# documentation
|
||||
.tox
|
||||
docs/_build/
|
||||
/.gitreview
|
||||
E2Manager/coverage.txt
|
||||
E2Manager/e2m
|
20
setup/e2mgr/.readthedocs.yaml
Normal file
20
setup/e2mgr/.readthedocs.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
# .readthedocs.yml
|
||||
# Read the Docs configuration file
|
||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||
# Required
|
||||
version: 2
|
||||
|
||||
formats:
|
||||
- htmlzip
|
||||
|
||||
build:
|
||||
image: latest
|
||||
|
||||
python:
|
||||
version: 3.7
|
||||
install:
|
||||
- requirements: docs/requirements-docs.txt
|
||||
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
16
setup/e2mgr/Automation/Dockerfile
Executable file
16
setup/e2mgr/Automation/Dockerfile
Executable file
@@ -0,0 +1,16 @@
|
||||
FROM python:3.6
|
||||
|
||||
RUN python3 -m pip install robotframework \
|
||||
&& pip install --upgrade RESTinstance \
|
||||
&& pip install docker \
|
||||
&& pip install -U robotframework-requests\
|
||||
&& apt-get update
|
||||
|
||||
WORKDIR /opt
|
||||
COPY ./Scripts /opt/Scripts
|
||||
COPY ./Tests /opt/Tests
|
||||
COPY ./run_tests.sh /opt/run_tests.sh
|
||||
|
||||
ENV DOCKER_HOST_IP "127.0.0.1"
|
||||
|
||||
CMD [ "/opt/run_tests.sh" ]
|
55
setup/e2mgr/Automation/FAILED_TESTS/Reset_unhappy.robot
Normal file
55
setup/e2mgr/Automation/FAILED_TESTS/Reset_unhappy.robot
Normal file
@@ -0,0 +1,55 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
Suite Teardown Start E2
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Pre Condition for Connecting - no E2
|
||||
Run And Return Rc And Output ${stop_docker_e2}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} 4
|
||||
|
||||
|
||||
Prepare Ran in Connecting connectionStatus
|
||||
Sleep 1s
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body connectionStatus CONNECTING
|
||||
|
||||
|
||||
Send Reset reqeust with no cause
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test1/reset ${resetcausejson}
|
||||
Integer response status 400
|
||||
Integer response body errorCode 403
|
||||
|
62
setup/e2mgr/Automation/Scripts/docker_ms.sh
Executable file
62
setup/e2mgr/Automation/Scripts/docker_ms.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
MS=$1
|
||||
ACTION=$2
|
||||
|
||||
do_stop(){
|
||||
MS=$1
|
||||
if ! docker ps --filter "name=^/${MS}" | grep -q "${MS}"; then
|
||||
echo "${MS} is already stopped, ignore the action."
|
||||
else
|
||||
echo "Executing 'docker stop ${MS}'"
|
||||
docker stop ${MS}
|
||||
fi
|
||||
}
|
||||
|
||||
do_start(){
|
||||
MS=$1
|
||||
if docker ps --filter "name=^/${MS}" | grep -q "${MS}"; then
|
||||
echo "${MS} is running, performing restart."
|
||||
echo "Executing \'\docker stop ${MS}'"
|
||||
docker stop ${MS} && sleep 2
|
||||
echo "Executing 'docker start ${MS}'"
|
||||
docker start ${MS}
|
||||
else
|
||||
echo "Executing 'docker start ${MS}'"
|
||||
docker start ${MS}
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
do_status(){
|
||||
MS=$1
|
||||
out=$(docker ps --filter "name=^/${MS}" | grep "${MS}")
|
||||
res=$?
|
||||
if [ "$res" == "0" ]; then
|
||||
echo $out
|
||||
echo "The ${MS} is currnetly up & running!"
|
||||
else
|
||||
echo "The ${MS} is currnetly not running!"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
case $ACTION in
|
||||
start)
|
||||
do_start ${MS}
|
||||
;;
|
||||
stop)
|
||||
do_stop ${MS}
|
||||
;;
|
||||
status)
|
||||
do_status ${MS}
|
||||
;;
|
||||
restart)
|
||||
do_stop ${MS}
|
||||
do_start ${MS}
|
||||
;;
|
||||
*)
|
||||
do_status ${MS}
|
||||
;;
|
||||
esac
|
43
setup/e2mgr/Automation/Scripts/k8s_ms.py
Executable file
43
setup/e2mgr/Automation/Scripts/k8s_ms.py
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
|
||||
import sys, os, traceback
|
||||
import docker
|
||||
# Getting the Arguments. if argument are missing exit the script with exit 1
|
||||
try:
|
||||
ms = sys.argv[1].lower()
|
||||
action = sys.argv[2].lower()
|
||||
script = os.path.basename(sys.argv[0])
|
||||
except:
|
||||
print("Usage: %s <microservice> <action> for now only stop action is allowd" % \
|
||||
(os.path.basename(sys.argv[0])))
|
||||
sys.exit(1)
|
||||
|
||||
ms=sys.argv[1].lower()
|
||||
action=sys.argv[2].lower()
|
||||
docker_host_ip=os.environ.get('DOCKER_HOST_IP', False)
|
||||
cms=[]
|
||||
if not docker_host_ip:
|
||||
print('The DOCKER_HOST_IP env varibale is not defined, exiting!')
|
||||
sys.exit(1)
|
||||
|
||||
def get_ms():
|
||||
try:
|
||||
client = docker.DockerClient(base_url='tcp://%s:2376' % docker_host_ip)
|
||||
|
||||
for ms in client.containers.list():
|
||||
if ms.name == sys.argv[1]:
|
||||
cms.append(ms)
|
||||
return cms[0]
|
||||
except:
|
||||
print('Can\'t connect to docker API, Exiting!')
|
||||
print(traceback.format_exc())
|
||||
sys.exit(1)
|
||||
|
||||
if action == 'stop':
|
||||
print('Stop the %s pod' % ms )
|
||||
get_ms().stop()
|
||||
sys.exit(0)
|
||||
else:
|
||||
print ('Only stop commnad is allowed!, exiting!')
|
||||
sys.exit(1)
|
29
setup/e2mgr/Automation/Scripts/ric_ms.sh
Executable file
29
setup/e2mgr/Automation/Scripts/ric_ms.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
stringContain() { [ -z "${2##*$1*}" ]; }
|
||||
|
||||
MS=${1}
|
||||
ACTION=${2}
|
||||
SCRIPT=`basename "$0"`
|
||||
USAGE="\nUsage: ./$SCRIPT <MS NAME> <ACTION>\nValid Options: ./$SCRIPT <simu,dbass,e2mgr,e2> <stop,start,restart,status>\nE.g ./$SCRIPT dbass stop"
|
||||
OPTIONS="simu,dbass,e2mgr,e2,stop,start,restart,status"
|
||||
DOC_SCRIPT="/opt/docker_ms.sh"
|
||||
K8S_SCRIPT="/opt/k8s_ms.py"
|
||||
# Check if script got the reqiured arguments
|
||||
[ -z ${SYS_TYPE} ] && echo -e "\nThe SYS_TYPE environemnt variable is not set!" && echo -e "${USAGE}" && exit 1
|
||||
[ -z ${MS} ] && echo -e "\nThe MS argument is reqiured!" && echo -e "${USAGE}" && exit 2
|
||||
[ -z ${ACTION} ] && echo -e "\nThe ACTION argument is reqiured!" && echo -e "${USAGE}" && exit 2
|
||||
! grep -q $MS <<<"$OPTIONS" && echo -e "\nThe microservice '${MS}' is not a valid value!" && echo -e "${USAGE}" && exit 3
|
||||
! grep -q $ACTION <<<"$OPTIONS" && echo -e "\nThe action '${ACTION}' is not a valid value!" && echo -e "${USAGE}" && exit 3
|
||||
|
||||
if [ "${SYS_TYPE}" == "docker" ]; then
|
||||
echo "SYS_TYPE=docker, Docker mode is set"
|
||||
[ ! -f ${DOC_SCRIPT} ] && echo "reqiured file '${DOC_SCRIPT}' is missing, exit" && exit 4
|
||||
echo "Executing the '${DOC_SCRIPT}' script!"
|
||||
${DOC_SCRIPT} ${MS} ${ACTION}
|
||||
elif [ "${SYS_TYPE}" == "k8s" ]; then
|
||||
echo "SYS_TYPE=k8s, K8S mode is set"
|
||||
[ ! -f ${K8S_SCRIPT} ] && echo "reqiured file '${K8S_SCRIPT}' is missing, exit" && exit 4
|
||||
echo "Executing the '${K8S_SCRIPT}' script!"
|
||||
${K8S_SCRIPT} ${MS} ${ACTION}
|
||||
fi
|
66
setup/e2mgr/Automation/Scripts/run.sh
Executable file
66
setup/e2mgr/Automation/Scripts/run.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
COMP="${1:-all}"
|
||||
E2M_TAG="${2:-2.0.6}"
|
||||
E2T_TAG="${3:-2.0.6}"
|
||||
SIM_TAG="${4:-1.0.6}"
|
||||
E2ADAPTER_TAG="${5:-1.3.2}"
|
||||
|
||||
if [ "$COMP" == "all" ]; then
|
||||
docker rm -f e2
|
||||
docker rm -f e2mgr
|
||||
docker rm -f gnbe2_simu
|
||||
docker rm -f e2adapter
|
||||
docker rm -f dbass
|
||||
|
||||
docker ps
|
||||
sleep 2
|
||||
|
||||
#docker pull nexus3.o-ran-sc.org:10004/ric-plt-e2:$E2T_TAG
|
||||
#docker pull nexus3.o-ran-sc.org:10004/ric-plt-e2mgr:$E2M_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2:$E2T_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2mgr:$E2M_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_simu:$SIM_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2adapter:$E2ADAPTER_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/dbass:1.0.0
|
||||
|
||||
docker run -d --name dbass -p 6379:6379 --env DBAAS_SERVICE_HOST=10.0.2.15 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/dbass:1.0.0
|
||||
|
||||
#docker run -d --name e2mgr -p 3800:3800 -p 3801:3801 --env DBAAS_SERVICE_HOST=10.0.2.15 --env RMR_VCTL_FILE=/tmp/rmr.verbose nexus3.o-ran-sc.org:10004/ric-plt-e2mgr:$E2M_TAG
|
||||
docker run -d --name e2mgr -p 3800:3800 -p 3801:3801 --env DBAAS_SERVICE_HOST=10.0.2.15 --env RMR_VCTL_FILE=/tmp/rmr.verbose snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2mgr:$E2M_TAG
|
||||
#docker cp e2mgr:/opt/E2Manager/router.txt .
|
||||
sleep 2
|
||||
#docker create --name e2 --env sctp=5577 --env nano=38000 --env loglevel=debug --env print=1 -p 38000:38000 nexus3.o-ran-sc.org:10004/ric-plt-e2:$E2T_TAG
|
||||
docker create --name e2 --env sctp=5577 --env nano=38000 --env loglevel=debug --env print=1 -p 38000:38000 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2:$E2T_TAG
|
||||
sleep 2
|
||||
#docker cp router.txt e2:/opt/e2/dockerRouter.txt
|
||||
sleep 2
|
||||
docker start e2
|
||||
|
||||
docker run -d --name gnbe2_simu --env gNBipv4=localhost --env gNBport=36422 --env indicationReportRate=0 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_simu:$SIM_TAG
|
||||
|
||||
docker run -d -v /etc/e2adapter:/etc/e2adapter -v /var/log/e2adapter:/var/log/e2adapter --network host --name e2adapter snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2adapter:$E2ADAPTER_TAG
|
||||
|
||||
docker ps
|
||||
fi
|
||||
if [ "$COMP" = "gnbe2_sim" ]; then
|
||||
docker rm -f gnb_simu
|
||||
docker run -d --name gnbe2_simu --env gNBipv4=localhost --env gNBport=36422 indicationReportRate=0 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_simu:$SIM_TAG
|
||||
docker ps
|
||||
fi
|
||||
if [ "$COMP" = "e2" ]; then
|
||||
docker rm -f e2
|
||||
#docker pull nexus3.o-ran-sc.org:10004/ric-plt-e2:$E2T_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2:$E2T_TAG
|
||||
docker create --name e2 --env sctp=5577 --env nano=38000 --env print=1 --env RMR_RTG_SVC=10.0.2.15 -p 38000:38000 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2:$E2T_TAG
|
||||
|
||||
docker ps
|
||||
fi
|
||||
if [ "$COMP" = "e2mgr" ]; then
|
||||
docker rm -f e2mgr
|
||||
#docker pull nexus3.o-ran-sc.org:10004/ric-plt-e2mgr:$E2M_TAG
|
||||
docker pull snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2mgr:$E2M_TAG
|
||||
#docker run -d --name e2mgr -p 3800:3800 -p 3801:3801 --env RMR_RTG_SVC=10.0.2.15 --env DBAAS_SERVICE_HOST=10.0.2.15 nexus3.o-ran-sc.org:10004/ric-plt-e2mgr:$E2M_TAG
|
||||
docker run -d --name e2mgr -p 3800:3800 -p 3801:3801 --env RMR_RTG_SVC=10.0.2.15 --env DBAAS_SERVICE_HOST=10.0.2.15 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/e2mgr:$E2M_TAG
|
||||
docker ps
|
||||
fi
|
@@ -0,0 +1,35 @@
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/cleanup_db.py
|
||||
Library ../Scripts/e2t_db_script.py
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Test New E2T Send Init
|
||||
Stop E2
|
||||
${result}= cleanup_db.flush
|
||||
Should Be Equal As Strings ${result} True
|
||||
Start E2
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
E2M Logs - Verify RMR Message
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${E2_INIT_message_type} ${None}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify E2T keys in DB
|
||||
${result}= e2t_db_script.verify_e2t_addresses_key
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
${result}= e2t_db_script.verify_e2t_instance_key
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
|
||||
|
20
setup/e2mgr/Automation/Tests/E2Term_Initialization/__init__.robot
Executable file
20
setup/e2mgr/Automation/Tests/E2Term_Initialization/__init__.robot
Executable file
@@ -0,0 +1,20 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Documentation E2Term-Initialization
|
@@ -0,0 +1,50 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
|
||||
|
||||
Get all node ids
|
||||
GET v1/nodeb/ids
|
||||
Sleep 2s
|
||||
Integer response status 200
|
||||
String response body 0 inventoryName ${ranName}
|
||||
String response body 0 globalNbId plmnId 02F829
|
||||
String response body 0 globalNbId nbId 001100000011000000110000
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Get all nodes
|
@@ -0,0 +1,59 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Library Process
|
||||
Library ../Scripts/getnodes.py
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Add nodes to redis db
|
||||
${result} getnodes.add
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
|
||||
Get all node ids
|
||||
GET v1/nodeb/ids
|
||||
Integer response status 200
|
||||
String response body 0 inventoryName test1
|
||||
String response body 0 globalNbId plmnId 02f829
|
||||
String response body 0 globalNbId nbId 007a80
|
||||
String response body 1 inventoryName test2
|
||||
String response body 1 globalNbId plmnId 03f829
|
||||
String response body 1 globalNbId nbId 001234
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/Tests/Get-All-Nodes/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/Get-All-Nodes/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Get all nodes
|
@@ -0,0 +1,58 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
|
||||
Get request gnb
|
||||
Sleep 2s
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
String response body connectionStatus CONNECTED
|
||||
String response body nodeType GNB
|
||||
String response body associatedE2tInstanceAddress ${e2tinstanceaddress}
|
||||
Integer response body gnb ranFunctions 0 ranFunctionId 1
|
||||
Integer response body gnb ranFunctions 0 ranFunctionRevision 1
|
||||
Integer response body gnb ranFunctions 1 ranFunctionId 2
|
||||
Integer response body gnb ranFunctions 1 ranFunctionRevision 1
|
||||
Integer response body gnb ranFunctions 2 ranFunctionId 3
|
||||
Integer response body gnb ranFunctions 2 ranFunctionRevision 1
|
||||
|
||||
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/Tests/GetNodeB-GNB/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/GetNodeB-GNB/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation GetNodeb-GNB
|
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library REST ${url}
|
||||
Library RequestsLibrary
|
||||
Library Collections
|
||||
Library OperatingSystem
|
||||
Library json
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Get E2T instances
|
||||
${result} e2mdbscripts.populate_e2t_instances_in_e2m_db_for_get_e2t_instances_tc
|
||||
Create Session getE2tInstances ${url}
|
||||
${headers}= Create Dictionary Accept=application/json
|
||||
${resp}= Get Request getE2tInstances /v1/e2t/list headers=${headers}
|
||||
Should Be Equal As Strings ${resp.status_code} 200
|
||||
Should Be Equal As Strings ${resp.content} [{"e2tAddress":"e2t.att.com:38000","ranNames":["test1","test2","test3"]},{"e2tAddress":"e2t.att.com:38001","ranNames":[]}]
|
||||
${flush} cleanup_db.flush
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/Tests/Health/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/Health/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN health check
|
37
setup/e2mgr/Automation/Tests/Health/get_health_check.robot
Normal file
37
setup/e2mgr/Automation/Tests/Health/get_health_check.robot
Normal file
@@ -0,0 +1,37 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Get Health
|
||||
GET /v1/health
|
||||
Integer response status 200
|
||||
|
||||
|
@@ -0,0 +1,40 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
Suite Teardown Start Dbass
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Get Health Unhappy - Dbass down
|
||||
Stop Dbass
|
||||
GET /v1/health
|
||||
Integer response status 500
|
||||
|
||||
|
||||
|
20
setup/e2mgr/Automation/Tests/KeepAlive/__init__.robot
Executable file
20
setup/e2mgr/Automation/Tests/KeepAlive/__init__.robot
Executable file
@@ -0,0 +1,20 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Documentation Keep Alive
|
81
setup/e2mgr/Automation/Tests/KeepAlive/keep_alive_test.robot
Normal file
81
setup/e2mgr/Automation/Tests/KeepAlive/keep_alive_test.robot
Normal file
@@ -0,0 +1,81 @@
|
||||
robot##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library ../Scripts/find_error_script.py
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Get request gnb
|
||||
Sleep 2s
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
String response body connectionStatus CONNECTED
|
||||
String response body nodeType GNB
|
||||
String response body associatedE2tInstanceAddress ${e2tinstanceaddress}
|
||||
Integer response body gnb ranFunctions 0 ranFunctionId 1
|
||||
Integer response body gnb ranFunctions 0 ranFunctionRevision 1
|
||||
Integer response body gnb ranFunctions 1 ranFunctionId 2
|
||||
Integer response body gnb ranFunctions 1 ranFunctionRevision 1
|
||||
Integer response body gnb ranFunctions 2 ranFunctionId 3
|
||||
Integer response body gnb ranFunctions 2 ranFunctionRevision 1
|
||||
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify RAN is associated with E2T instance
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance ${ranname} ${e2tinstanceaddress}
|
||||
Should Be True ${result}
|
||||
|
||||
Stop E2T
|
||||
Stop E2
|
||||
Sleep 3s
|
||||
|
||||
Prepare logs
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify RAN is not associated with E2T instance
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
Missing response body associatedE2tInstanceAddress
|
||||
String response body connectionStatus DISCONNECTED
|
||||
|
||||
Verify E2T instance removed from db
|
||||
${result} e2mdbscripts.verify_e2t_instance_key_exists ${e2tinstanceaddress}
|
||||
Should Be True ${result} == False
|
||||
|
||||
${result} e2mdbscripts.verify_e2t_instance_exists_in_addresses ${e2tinstanceaddress}
|
||||
Should Be True ${result} == False
|
||||
|
||||
Start E2T
|
||||
Start E2
|
@@ -0,0 +1,59 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
|
||||
Setup Ran and verify it's CONNECTED and associated
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
String response body connectionStatus CONNECTED
|
||||
String response body associatedE2tInstanceAddress ${e2tinstanceaddress}
|
||||
|
||||
Stop simulator
|
||||
Stop Simulator
|
||||
|
||||
Verify connection status is DISCONNECTED and RAN is not associated with E2T instance
|
||||
Sleep 2s
|
||||
GET ${getNodeb}
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
Missing response body associatedE2tInstanceAddress
|
||||
String response body connectionStatus DISCONNECTED
|
||||
|
||||
Verify E2T instance is NOT associated with RAN
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance ${ranname} ${e2tinstanceaddress}
|
||||
Should Be True ${result} == False
|
24
setup/e2mgr/Automation/Tests/Lost_Connection/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/Lost_Connection/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Lost Connection scenarios
|
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource red_button_keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Verify gnb nodeb connection status is CONNECTED and it's associated to an e2t instance
|
||||
Verify connected and associated
|
||||
|
||||
Execute Shutdown
|
||||
Execute Shutdown
|
||||
|
||||
Verify nodeb's connection status is SHUT_DOWN and it's NOT associated to an e2t instance
|
||||
Verify shutdown for gnb
|
||||
|
||||
Verify E2T instance has no associated RANs
|
||||
Verify E2T instance has no associated RANs
|
||||
|
@@ -0,0 +1,48 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource red_button_keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Verify gnb nodeb connection status is CONNECTED and it's associated to an e2t instance
|
||||
Verify connected and associated
|
||||
|
||||
Execute Shutdown
|
||||
Execute Shutdown
|
||||
|
||||
Verify nodeb's connection status is SHUT_DOWN and it's NOT associated to an e2t instance
|
||||
Verify shutdown for gnb
|
||||
Verify E2T instance has no associated RANs
|
||||
|
||||
Restart simulator
|
||||
Restart simulator
|
||||
|
||||
Verify gnb nodeb connection status is CONNECTED and it's associated to an e2t instance
|
||||
Verify connected and associated
|
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource red_button_keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
|
||||
*** Test Cases ***
|
||||
Verify nodeb connection status is CONNECTED and it's associated to an e2t instance
|
||||
Verify connected and associated
|
||||
|
||||
Execute Shutdown
|
||||
Execute Shutdown
|
||||
|
||||
Verify nodeb's connection status is SHUT_DOWN and it's NOT associated to an e2t instance
|
||||
Verify shutdown for gnb
|
||||
|
||||
Verify E2T instance has no associated RANs
|
||||
Verify E2T instance has no associated RANs
|
||||
|
||||
|
||||
Execute second Shutdown
|
||||
Execute Shutdown
|
||||
|
||||
Verify again nodeb's connection status is SHUT_DOWN and it's NOT associated to an e2t instance
|
||||
Verify shutdown for gnb
|
||||
|
||||
Verify again E2T instance has no associated RANs
|
||||
Verify E2T instance has no associated RANs
|
24
setup/e2mgr/Automation/Tests/RedButton/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/RedButton/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Red Button Scenarios
|
@@ -0,0 +1,55 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Documentation Keywords file
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library Collections
|
||||
Library OperatingSystem
|
||||
Library json
|
||||
Library REST ${url}
|
||||
|
||||
*** Keywords ***
|
||||
Verify connected and associated
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranName}
|
||||
String response body connectionStatus CONNECTED
|
||||
String response body associatedE2tInstanceAddress ${e2tinstanceaddress}
|
||||
|
||||
Verify shutdown for gnb
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranName}
|
||||
String response body connectionStatus SHUT_DOWN
|
||||
Missing response body associatedE2tInstanceAddress
|
||||
|
||||
Verify E2T instance has no associated RANs
|
||||
${result} e2mdbscripts.verify_e2t_instance_has_no_associated_rans ${e2tinstanceaddress}
|
||||
Should Be True ${result}
|
||||
|
||||
Execute Shutdown
|
||||
PUT /v1/nodeb/shutdown
|
||||
Integer response status 204
|
||||
|
||||
|
||||
|
||||
|
||||
|
128
setup/e2mgr/Automation/Tests/Resource/Keywords.robot
Normal file
128
setup/e2mgr/Automation/Tests/Resource/Keywords.robot
Normal file
@@ -0,0 +1,128 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Keywords file
|
||||
Library ../Scripts/cleanup_db.py
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
|
||||
*** Keywords ***
|
||||
Get Request node b gnb
|
||||
Sleep 1s
|
||||
GET ${getNodeb}
|
||||
|
||||
Update Ran request
|
||||
Sleep 1s
|
||||
PUT ${update_gnb_url} ${update_gnb_body}
|
||||
|
||||
|
||||
Update Ran request not valid
|
||||
Sleep 1s
|
||||
PUT ${update_gnb_url} ${update_gnb_body_notvalid}
|
||||
|
||||
Remove log files
|
||||
Remove File ${EXECDIR}/${gnb_log_filename}
|
||||
Remove File ${EXECDIR}/${e2mgr_log_filename}
|
||||
Remove File ${EXECDIR}/${e2t_log_filename}
|
||||
Remove File ${EXECDIR}/${rm_sim_log_filename}
|
||||
|
||||
Save logs
|
||||
Sleep 1s
|
||||
Run ${Save_sim_log}
|
||||
Run ${Save_e2mgr_log}
|
||||
Run ${Save_e2t_log}
|
||||
Run ${Save_rm_sim_log}
|
||||
|
||||
Stop Simulator
|
||||
Run And Return Rc And Output ${stop_simu}
|
||||
|
||||
Prepare Enviorment
|
||||
Log To Console Starting preparations
|
||||
${starting_timestamp} Evaluate datetime.datetime.now(datetime.timezone.utc).isoformat("T") modules=datetime
|
||||
${e2t_log_filename} Evaluate "e2t.${SUITE NAME}.log".replace(" ","-")
|
||||
${e2mgr_log_filename} Evaluate "e2mgr.${SUITE NAME}.log".replace(" ","-")
|
||||
${gnb_log_filename} Evaluate "gnb.${SUITE NAME}.log".replace(" ","-")
|
||||
${rm_sim_log_filename} Evaluate "rm_sim.${SUITE NAME}.log".replace(" ","-")
|
||||
${Save_sim_log} Evaluate 'docker logs --since ${starting_timestamp} gnbe2_oran_simu > ${gnb_log_filename}'
|
||||
${Save_e2mgr_log} Evaluate 'docker logs --since ${starting_timestamp} e2mgr > ${e2mgr_log_filename}'
|
||||
${Save_e2t_log} Evaluate 'docker logs --since ${starting_timestamp} e2 > ${e2t_log_filename}'
|
||||
${Save_rm_sim_log} Evaluate 'docker logs --since ${starting_timestamp} rm_sim > ${rm_sim_log_filename}'
|
||||
Set Suite Variable ${e2t_log_filename}
|
||||
Set Suite Variable ${e2mgr_log_filename}
|
||||
Set Suite Variable ${gnb_log_filename}
|
||||
Set Suite Variable ${rm_sim_log_filename}
|
||||
Set Suite Variable ${Save_sim_log}
|
||||
Set Suite Variable ${Save_e2mgr_log}
|
||||
Set Suite Variable ${Save_e2t_log}
|
||||
Set Suite Variable ${Save_rm_sim_log}
|
||||
|
||||
Log To Console Ready to flush db
|
||||
${flush} cleanup_db.flush
|
||||
Should Be Equal As Strings ${flush} True
|
||||
Run And Return Rc And Output ${stop_simu}
|
||||
Run And Return Rc And Output ${docker_Remove}
|
||||
Run And Return Rc And Output ${run_simu_regular}
|
||||
Sleep 3s
|
||||
Log To Console Validating dockers are up
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number}
|
||||
|
||||
Start E2
|
||||
Run And Return Rc And Output ${start_e2}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number}
|
||||
Sleep 2s
|
||||
|
||||
Stop E2
|
||||
Run And Return Rc And Output ${stop_e2}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number-1}
|
||||
Sleep 2s
|
||||
|
||||
Start Dbass
|
||||
Run And Return Rc And Output ${dbass_remove}
|
||||
Run And Return Rc And Output ${dbass_start}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number}
|
||||
|
||||
Stop Dbass
|
||||
Run And Return Rc And Output ${dbass_stop}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number-1}
|
||||
|
||||
Restart simulator
|
||||
Run And Return Rc And Output ${restart_simu}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number}
|
||||
|
||||
Start RoutingManager Simulator
|
||||
Run And Return Rc And Output ${start_routingmanager_sim}
|
||||
|
||||
Stop RoutingManager Simulator
|
||||
Run And Return Rc And Output ${stop_routingmanager_sim}
|
||||
|
||||
Restart simulator with less docker
|
||||
Run And Return Rc And Output ${restart_simu}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number-1}
|
||||
|
55
setup/e2mgr/Automation/Tests/Resource/resource.robot
Normal file
55
setup/e2mgr/Automation/Tests/Resource/resource.robot
Normal file
@@ -0,0 +1,55 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Resource file
|
||||
|
||||
|
||||
*** Variables ***
|
||||
${docker_number} 5
|
||||
${docker_number-1} 4
|
||||
${url} http://localhost:3800
|
||||
${ranName} gnb:208-092-303030
|
||||
${getNodeb} /v1/nodeb/${ranName}
|
||||
${update_gnb_url} /v1/nodeb/${ranName}/update
|
||||
${update_gnb_body} {"servedNrCells":[{"servedNrCellInformation":{"cellId":"abcd","choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1,"servedPlmns":["whatever"]},"nrNeighbourInfos":[{"nrCgi":"one","choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1}]}]}
|
||||
${update_gnb_body_notvalid} {"servedNrCells":[{"servedNrCellInformation":{"choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1,"servedPlmns":["whatever"]},"nrNeighbourInfos":[{"nrCgi":"whatever","choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1}]}]}
|
||||
${E2tInstanceAddress} 10.0.2.15:38000
|
||||
${header} {"Content-Type": "application/json"}
|
||||
${docker_command} docker ps | grep Up | wc --lines
|
||||
${stop_simu} docker stop gnbe2_oran_simu
|
||||
${run_simu_regular} docker run -d --name gnbe2_oran_simu --net host --env gNBipv4=10.0.2.15 --env gNBport=5577 --env ricIpv4=10.0.2.15 --env ricPort=36422 --env nbue=0 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_oran_simu:3.2-32
|
||||
${docker_Remove} docker rm gnbe2_oran_simu
|
||||
${docker_restart} docker restart e2mgr
|
||||
${restart_simu} docker restart gnbe2_oran_simu
|
||||
${start_e2} docker start e2
|
||||
${stop_e2} docker stop e2
|
||||
${dbass_start} docker run -d --name dbass -p 6379:6379 --env DBAAS_SERVICE_HOST=10.0.2.15 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/dbass:1.0.0
|
||||
${dbass_remove} docker rm dbass
|
||||
${dbass_stop} docker stop dbass
|
||||
${restart_simu} docker restart gnbe2_oran_simu
|
||||
${stop_docker_e2} docker stop e2
|
||||
${stop_routingmanager_sim} docker stop rm_sim
|
||||
${start_routingmanager_sim} docker start rm_sim
|
||||
|
||||
|
||||
|
@@ -0,0 +1,36 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Message types resource file
|
||||
|
||||
|
||||
*** Variables ***
|
||||
|
||||
${E2_INIT_message_type} MType: 1100
|
||||
${Setup_failure_message_type} MType: 12003
|
||||
${first_retry_to_retrieve_from_db} RnibDataService.retry - retrying 1 GetNodeb
|
||||
${third_retry_to_retrieve_from_db} RnibDataService.retry - after 3 attempts of GetNodeb
|
||||
${RIC_RES_STATUS_REQ_message_type_successfully_sent} Message type: 10090 - Successfully sent RMR message
|
||||
${E2_TERM_KEEP_ALIVE_REQ_message_type_successfully_sent} Message type: 1101 - Successfully sent RMR message
|
||||
|
||||
|
45
setup/e2mgr/Automation/Tests/Scripts/cleanup_db.py
Normal file
45
setup/e2mgr/Automation/Tests/Scripts/cleanup_db.py
Normal file
@@ -0,0 +1,45 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
import config
|
||||
import redis
|
||||
import time
|
||||
|
||||
|
||||
def flush():
|
||||
|
||||
c = config.redis_ip_address
|
||||
|
||||
p = config.redis_ip_port
|
||||
|
||||
r = redis.Redis(host=c, port=p, db=0)
|
||||
|
||||
r.flushall()
|
||||
|
||||
r.set("{e2Manager},E2TAddresses", "[\"10.0.2.15:38000\"]")
|
||||
|
||||
r.set("{e2Manager},E2TInstance:10.0.2.15:38000","{\"address\":\"10.0.2.15:38000\",\"associatedRanList\":[],\"keepAliveTimestamp\":" + str(int((time.time()+2) * 1000000000)) + ",\"state\":\"ACTIVE\",\"deletionTimeStamp\":0}")
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/Tests/Scripts/config.py
Normal file
24
setup/e2mgr/Automation/Tests/Scripts/config.py
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
redis_ip_address = 'localhost'
|
||||
redis_ip_port = 6379
|
73
setup/e2mgr/Automation/Tests/Scripts/e2mdbscripts.py
Normal file
73
setup/e2mgr/Automation/Tests/Scripts/e2mdbscripts.py
Normal file
@@ -0,0 +1,73 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import config
|
||||
import redis
|
||||
import cleanup_db
|
||||
import json
|
||||
|
||||
def getRedisClientDecodeResponse():
|
||||
c = config.redis_ip_address
|
||||
p = config.redis_ip_port
|
||||
return redis.Redis(host=c, port=p, db=0, decode_responses=True)
|
||||
|
||||
def verify_ran_is_associated_with_e2t_instance(ranName, e2tAddress):
|
||||
r = getRedisClientDecodeResponse()
|
||||
e2tInstanceJson = r.get("{e2Manager},E2TInstance:"+e2tAddress)
|
||||
e2tInstanceDic = json.loads(e2tInstanceJson)
|
||||
assocRanList = e2tInstanceDic.get("associatedRanList")
|
||||
return ranName in assocRanList
|
||||
|
||||
def verify_e2t_instance_has_no_associated_rans(e2tAddress):
|
||||
r = getRedisClientDecodeResponse()
|
||||
e2tInstanceJson = r.get("{e2Manager},E2TInstance:"+e2tAddress)
|
||||
e2tInstanceDic = json.loads(e2tInstanceJson)
|
||||
assocRanList = e2tInstanceDic.get("associatedRanList")
|
||||
return not assocRanList
|
||||
|
||||
def verify_e2t_instance_exists_in_addresses(e2tAddress):
|
||||
r = getRedisClientDecodeResponse()
|
||||
e2tAddressesJson = r.get("{e2Manager},E2TAddresses")
|
||||
e2tAddresses = json.loads(e2tAddressesJson)
|
||||
return e2tAddress in e2tAddresses
|
||||
|
||||
def verify_e2t_instance_key_exists(e2tAddress):
|
||||
r = getRedisClientDecodeResponse()
|
||||
return r.exists("{e2Manager},E2TInstance:"+e2tAddress)
|
||||
|
||||
def populate_e2t_instances_in_e2m_db_for_get_e2t_instances_tc():
|
||||
r = getRedisClientDecodeResponse()
|
||||
r.set("{e2Manager},E2TAddresses", "[\"e2t.att.com:38000\",\"e2t.att.com:38001\"]")
|
||||
r.set("{e2Manager},E2TInstance:e2t.att.com:38000", "{\"address\":\"e2t.att.com:38000\",\"associatedRanList\":[\"test1\",\"test2\",\"test3\"],\"keepAliveTimestamp\":1577619310484022369,\"state\":\"ACTIVE\"}")
|
||||
r.set("{e2Manager},E2TInstance:e2t.att.com:38001", "{\"address\":\"e2t.att.com:38001\",\"associatedRanList\":[],\"keepAliveTimestamp\":1577619310484022369,\"state\":\"ACTIVE\"}")
|
||||
return True
|
||||
|
||||
# def dissociate_ran_from_e2tInstance(ranName, e2tAddress):
|
||||
# r = getRedisClientDecodeResponse()
|
||||
# e2tInstanceJson = r.get("{e2Manager},E2TInstance:"+e2tAddress)
|
||||
# e2tInstanceDic = json.loads(e2tInstanceJson)
|
||||
# assocRanList = e2tInstanceDic.get("associatedRanList")
|
||||
# print(assocRanList)
|
||||
# assocRanList.remove(ranName)
|
||||
# updatedE2tInstanceJson = json.dumps(e2tInstanceDic)
|
||||
# print(updatedE2tInstanceJson)
|
||||
# r.set("{e2Manager},E2TInstance:"+e2tAddress, updatedE2tInstanceJson)
|
||||
# nodebBytes = r.get("{e2Manager},RAN:"+ranName)
|
||||
# encoded = nodebBytes.decode().replace(e2tAddress,"").encode()
|
||||
# r.set("{e2Manager},RAN:"+ranName, encoded)
|
||||
|
58
setup/e2mgr/Automation/Tests/Scripts/e2t_db_script.py
Normal file
58
setup/e2mgr/Automation/Tests/Scripts/e2t_db_script.py
Normal file
@@ -0,0 +1,58 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import config
|
||||
import redis
|
||||
|
||||
|
||||
def getRedisClientDecodeResponse():
|
||||
|
||||
c = config.redis_ip_address
|
||||
|
||||
p = config.redis_ip_port
|
||||
|
||||
return redis.Redis(host=c, port=p, db=0, decode_responses=True)
|
||||
|
||||
|
||||
def verify_e2t_addresses_key():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
value = "[\"10.0.2.15:38000\"]"
|
||||
|
||||
return r.get("{e2Manager},E2TAddresses") == value
|
||||
|
||||
|
||||
def verify_e2t_instance_key():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
e2_address = "\"address\":\"10.0.2.15:38000\""
|
||||
e2_associated_ran_list = "\"associatedRanList\":[]"
|
||||
e2_state = "\"state\":\"ACTIVE\""
|
||||
|
||||
e2_db_instance = r.get("{e2Manager},E2TInstance:10.0.2.15:38000")
|
||||
|
||||
if e2_db_instance.find(e2_address) < 0:
|
||||
return False
|
||||
if e2_db_instance.find(e2_associated_ran_list) < 0:
|
||||
return False
|
||||
if e2_db_instance.find(e2_state) < 0:
|
||||
return False
|
||||
|
||||
return True
|
40
setup/e2mgr/Automation/Tests/Scripts/find_error_script.py
Normal file
40
setup/e2mgr/Automation/Tests/Scripts/find_error_script.py
Normal file
@@ -0,0 +1,40 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
def find_error(directory,filename, message):
|
||||
|
||||
path = '/'
|
||||
|
||||
file_path = directory + path + filename
|
||||
|
||||
f = open(file_path, 'r')
|
||||
|
||||
for l in f:
|
||||
|
||||
if l.find(message) > 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
43
setup/e2mgr/Automation/Tests/Scripts/find_rmr_message.py
Normal file
43
setup/e2mgr/Automation/Tests/Scripts/find_rmr_message.py
Normal file
@@ -0,0 +1,43 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
def verify_logs(directory,filename,mtype,meid):
|
||||
|
||||
path = '/'
|
||||
|
||||
file_path = directory + path + filename
|
||||
|
||||
f = open(file_path, 'r')
|
||||
|
||||
for l in f:
|
||||
|
||||
if (meid is not None):
|
||||
if l.find(mtype) > 0 and l.find(meid) > 0:
|
||||
return True
|
||||
else:
|
||||
if l.find(mtype) > 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
59
setup/e2mgr/Automation/Tests/Scripts/getnodes.py
Normal file
59
setup/e2mgr/Automation/Tests/Scripts/getnodes.py
Normal file
@@ -0,0 +1,59 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
import config
|
||||
import redis
|
||||
import cleanup_db
|
||||
|
||||
|
||||
def add():
|
||||
|
||||
c = config.redis_ip_address
|
||||
|
||||
p = config.redis_ip_port
|
||||
|
||||
r = redis.Redis(host=c, port=p, db=0)
|
||||
|
||||
cleanup_db.flush()
|
||||
|
||||
r.set("{e2Manager},ENB:02f829:007a80", "\n\x05test1\x12\t10.0.2.15\x18\xc9+ \x01*\x10\n\x0602f829\x12\x06007a800\x01:3\b\x01\x12/\bc\x12\x0f02f829:0007ab50\x1a\x040102\"\x0602f829*\n\n\b\b\x01\x10\x01\x18\x04 \x040\x01")
|
||||
|
||||
r.set("{e2Manager},RAN:test1","\x12\t10.0.2.15\x18\xc9+ \x03H\x01R\x02\b\t")
|
||||
|
||||
r.set("{e2Manager},PCI:test1:63" , "\b\x01\x12/\bc\x12\x0f02f829:0007ab50\x1a\x040102\"\x0602f829*\n\n\b\b\x01\x10\x01\x18\x04 \x040\x01")
|
||||
|
||||
r.set("{e2Manager},CELL:02f829:0007ab50" , "\b\x01\x12/\bc\x12\x0f02f829:0007ab50\x1a\x040102\"\x0602f829*\n\n\b\b\x01\x10\x01\x18\x04 \x040\x01")
|
||||
|
||||
r.sadd("{e2Manager},ENB" , "\n\x05test1\x12\x10\n\x0602f829\x12\x06007a80")
|
||||
|
||||
|
||||
r.set("{e2Manager},GNB:03f829:002234", "\n\x05test2\x12\t10.0.2.16\x18\xc9+ \x01*\x10\n\x0702f829\x12\x070012340\x02BI\nG\nE\bc\x12\x1102f829:0008ab0120*\x0602f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
|
||||
|
||||
r.set("{e2Manager},RAN:test2", "\n\x05test2\x12\t10.0.2.15\x18\xc9+ \x01*\x10\n\x0702f829\x12\x070012340\x03BI\nG\nE\bc\x12\x1103f829:0008ab0120*\x0602f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
|
||||
|
||||
r.set("{e2Manager},PCI:test2:63", "\b\x02\x1aG\nE\bc\x12\x1102f829:0008ab0120*\x0702f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
|
||||
|
||||
r.set("{e2Manager},NRCELL:02f829:0007ab0120", "\b\x02\x1aG\nE\bc\x12\x1102f829:0007ab0120*\x0602f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
|
||||
|
||||
r.sadd("{e2Manager},GNB","\n\x05test2\x12\x10\n\x0603f829\x12\x06001234")
|
||||
|
||||
return True
|
68
setup/e2mgr/Automation/Tests/Scripts/loadscripts.py
Normal file
68
setup/e2mgr/Automation/Tests/Scripts/loadscripts.py
Normal file
@@ -0,0 +1,68 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
import redis
|
||||
import config
|
||||
|
||||
def getRedisClient():
|
||||
|
||||
c = config.redis_ip_address
|
||||
|
||||
p = config.redis_ip_port
|
||||
|
||||
return redis.Redis(host=c, port=p, db=0)
|
||||
|
||||
|
||||
def verify_value():
|
||||
|
||||
r = getRedisClient()
|
||||
|
||||
value = "\b\x98\xf7\xdd\xa3\xc7\xb4\x83\xde\x15\x12\x11\n\x0f02f829:0007ab00"
|
||||
|
||||
if r.get("{e2Manager},LOAD:test1") != value:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def add():
|
||||
|
||||
r = getRedisClient()
|
||||
|
||||
r.set("{e2Manager},LOAD:test1", "\b\x98\xf7\xdd\xa3\xc7\xb4\x83\xde\x15\x12\x11\n\x0f02f829:0007ab00")
|
||||
|
||||
if r.exists("{e2Manager},LOAD:test1"):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def verify():
|
||||
|
||||
r = getRedisClient()
|
||||
|
||||
if r.exists("{e2Manager},LOAD:test1"):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
97
setup/e2mgr/Automation/Tests/Scripts/rsmscripts.py
Normal file
97
setup/e2mgr/Automation/Tests/Scripts/rsmscripts.py
Normal file
@@ -0,0 +1,97 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import config
|
||||
import redis
|
||||
import json
|
||||
|
||||
|
||||
def getRedisClientDecodeResponse():
|
||||
|
||||
c = config.redis_ip_address
|
||||
|
||||
p = config.redis_ip_port
|
||||
|
||||
return redis.Redis(host=c, port=p, db=0, decode_responses=True)
|
||||
|
||||
def set_general_config_resource_status_false():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
r.set("{rsm},CFG:GENERAL:v1.0.0" , "{\"enableResourceStatus\":false,\"partialSuccessAllowed\":true,\"prbPeriodic\":true,\"tnlLoadIndPeriodic\":true,\"wwLoadIndPeriodic\":true,\"absStatusPeriodic\":true,\"rsrpMeasurementPeriodic\":true,\"csiPeriodic\":true,\"periodicityMs\":1,\"periodicityRsrpMeasurementMs\":3,\"periodicityCsiMs\":3}")
|
||||
|
||||
def verify_rsm_ran_info_start_false():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
value = "{\"ranName\":\"test1\",\"enb1MeasurementId\":1,\"enb2MeasurementId\":0,\"action\":\"start\",\"actionStatus\":false}"
|
||||
|
||||
return r.get("{rsm},RAN:test1") == value
|
||||
|
||||
|
||||
def verify_rsm_ran_info_start_true():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
rsmInfoStr = r.get("{rsm},RAN:test1")
|
||||
rsmInfoJson = json.loads(rsmInfoStr)
|
||||
|
||||
response = rsmInfoJson["ranName"] == "test1" and rsmInfoJson["enb1MeasurementId"] == 1 and rsmInfoJson["enb2MeasurementId"] != 1 and rsmInfoJson["action"] == "start" and rsmInfoJson["actionStatus"] == True
|
||||
|
||||
return response
|
||||
|
||||
|
||||
def verify_rsm_ran_info_stop_false():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
rsmInfoStr = r.get("{rsm},RAN:test1")
|
||||
rsmInfoJson = json.loads(rsmInfoStr)
|
||||
|
||||
response = rsmInfoJson["ranName"] == "test1" and rsmInfoJson["enb1MeasurementId"] == 1 and rsmInfoJson["action"] == "stop" and rsmInfoJson["actionStatus"] == False
|
||||
|
||||
return response
|
||||
|
||||
|
||||
def verify_rsm_ran_info_stop_true():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
rsmInfoStr = r.get("{rsm},RAN:test1")
|
||||
rsmInfoJson = json.loads(rsmInfoStr)
|
||||
|
||||
response = rsmInfoJson["ranName"] == "test1" and rsmInfoJson["action"] == "stop" and rsmInfoJson["actionStatus"] == True
|
||||
|
||||
return response
|
||||
|
||||
def verify_general_config_enable_resource_status_true():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
configStr = r.get("{rsm},CFG:GENERAL:v1.0.0")
|
||||
configJson = json.loads(configStr)
|
||||
|
||||
return configJson["enableResourceStatus"] == True
|
||||
|
||||
def verify_general_config_enable_resource_status_false():
|
||||
|
||||
r = getRedisClientDecodeResponse()
|
||||
|
||||
configStr = r.get("{rsm},CFG:GENERAL:v1.0.0")
|
||||
configJson = json.loads(configStr)
|
||||
|
||||
return configJson["enableResourceStatus"] == False
|
@@ -0,0 +1,67 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library REST ${url}
|
||||
Suite Teardown Start RoutingManager Simulator
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Stop Routing manager simulator and restarting simulator
|
||||
Stop RoutingManager Simulator
|
||||
Restart simulator with less docker
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Get request gnb
|
||||
Sleep 2s
|
||||
Get Request node b gnb
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
String response body connectionStatus DISCONNECTED
|
||||
String response body nodeType GNB
|
||||
Integer response body gnb ranFunctions 0 ranFunctionId 1
|
||||
Integer response body gnb ranFunctions 0 ranFunctionRevision 1
|
||||
Integer response body gnb ranFunctions 1 ranFunctionId 2
|
||||
Integer response body gnb ranFunctions 1 ranFunctionRevision 1
|
||||
Integer response body gnb ranFunctions 2 ranFunctionId 3
|
||||
Integer response body gnb ranFunctions 2 ranFunctionRevision 1
|
||||
|
||||
E2M Logs - Verify RMR Message
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${Setup_failure_message_type} ${None}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/Tests/Setup_Failure/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/Setup_Failure/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Setup Failure
|
@@ -0,0 +1,38 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library REST ${url}
|
||||
Suite Teardown Start Dbass
|
||||
|
||||
*** Test Cases ***
|
||||
Get All nodes - 500 http - 500 RNIB error
|
||||
Stop Dbass
|
||||
GET /v1/nodeb/ids
|
||||
Integer response status 500
|
||||
Integer response body errorCode 500
|
||||
String response body errorMessage RNIB error
|
||||
|
||||
|
@@ -0,0 +1,37 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Get Request node b gnb - resource not found 404
|
||||
GET /v1/nodeb/test5
|
||||
Integer response status 404
|
||||
Integer response body errorCode 404
|
||||
String response body errorMessage "Resource not found"
|
||||
|
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library ../Scripts/find_error_script.py
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
Suite Teardown Start Dbass
|
||||
|
||||
*** Test Cases ***
|
||||
Get node b gnb - DB down - 500
|
||||
Stop Dbass
|
||||
GET /v1/nodeb/test5
|
||||
Integer response status 500
|
||||
Integer response body errorCode 500
|
||||
String response body errorMessage RNIB error
|
||||
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify e2mgr logs - First retry to retrieve from db
|
||||
${result} find_error_script.find_error ${EXECDIR} ${e2mgr_log_filename} ${first_retry_to_retrieve_from_db}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify e2mgr logs - Third retry to retrieve from db
|
||||
${result} find_error_script.find_error ${EXECDIR} ${e2mgr_log_filename} ${third_retry_to_retrieve_from_db}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
@@ -0,0 +1,38 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library REST ${url}
|
||||
Suite Teardown Start Dbass
|
||||
|
||||
*** Test Cases ***
|
||||
Red Button - Shut Dwon - 500 RNIB error
|
||||
Stop Dbass
|
||||
PUT /v1/nodeb/shutdown
|
||||
Integer response status 500
|
||||
Integer response body errorCode 500
|
||||
String response body errorMessage RNIB error
|
||||
|
||||
|
@@ -0,0 +1,47 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Update Ran Unhappy
|
||||
Sleep 2s
|
||||
Update Ran request not valid
|
||||
Integer response status 400
|
||||
Integer response body errorCode 402
|
||||
String response body errorMessage Validation error
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,56 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Update Ran
|
||||
Sleep 2s
|
||||
Update Ran request
|
||||
Integer response status 200
|
||||
String response body ranName ${ranname}
|
||||
String response body connectionStatus CONNECTED
|
||||
String response body nodeType GNB
|
||||
String response body gnb servedNrCells 0 servedNrCellInformation cellId abcd
|
||||
String response body gnb servedNrCells 0 nrNeighbourInfos 0 nrCgi one
|
||||
String response body gnb servedNrCells 0 servedNrCellInformation servedPlmns 0 whatever
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/Tests/Update_Ran/__init__.robot
Normal file
24
setup/e2mgr/Automation/Tests/Update_Ran/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation Update Ran
|
@@ -0,0 +1,82 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library String
|
||||
Library Process
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
X2 - Setup and Get
|
||||
Post Request setup node b x-2
|
||||
Get Request node b enb test1
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Run Configuration update
|
||||
Run ${Run_Config}
|
||||
Sleep 1s
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify logs - Confiugration update - Begin Tag Get
|
||||
${Configuration}= Grep File ./${gnb_log_filename} <ENDCConfigurationUpdate>
|
||||
${ConfigurationAfterStrip}= Strip String ${Configuration}
|
||||
Should Be Equal ${ConfigurationAfterStrip} <ENDCConfigurationUpdate>
|
||||
|
||||
Verify logs - Confiugration update - End Tag Get
|
||||
${ConfigurationEnd}= Grep File ./${gnb_log_filename} </ENDCConfigurationUpdate>
|
||||
${ConfigurationEndAfterStrip}= Strip String ${ConfigurationEnd}
|
||||
Should Be Equal ${ConfigurationEndAfterStrip} </ENDCConfigurationUpdate>
|
||||
|
||||
Verify logs - Confiugration update - Ack Tag Begin
|
||||
${ConfigurationAck}= Grep File ./${gnb_log_filename} <ENDCConfigurationUpdateAcknowledge>
|
||||
${ConfigurationAckAfter}= Strip String ${ConfigurationAck}
|
||||
Should Be Equal ${ConfigurationAckAfter} <ENDCConfigurationUpdateAcknowledge>
|
||||
|
||||
Verify logs - Confiugration update - Ack Tag End
|
||||
${ConfigurationAckEnd}= Grep File ./${gnb_log_filename} </ENDCConfigurationUpdateAcknowledge>
|
||||
${ConfigurationAckEndAfterStrip}= Strip String ${ConfigurationAckEnd}
|
||||
Should Be Equal ${ConfigurationAckEndAfterStrip} </ENDCConfigurationUpdateAcknowledge>
|
||||
|
||||
Verify logs - find RIC_ENDC_CONF_UPDATE
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${configurationupdate_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
Verify logs - find RIC_ENDC_CONF_UPDATE_ACK
|
||||
${result1} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${configurationupdate_ack_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result1} True
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,25 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
|
||||
*** Settings ***
|
||||
Documentation Configuration Update test
|
@@ -0,0 +1,86 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library String
|
||||
Library Process
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/find_error_script.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Prepare Ran in Connected connectionStatus
|
||||
# Post Request setup node b endc-setup
|
||||
Set Headers ${header}
|
||||
POST /v1/nodeb/endc-setup ${json}
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
# GET /v1/nodeb/test2
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
# String response body ranName test2
|
||||
String response body ranName test1
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
Run Reset from RAN
|
||||
Run ${Run_Config}
|
||||
Sleep 1s
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
#Verify logs - Reset Sent by e2adapter
|
||||
# ${result} find_error_script.find_error ${EXECDIR} ${e2adapter_log_filename} ${E2ADAPTER_Setup_Resp}
|
||||
# Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify logs - Reset Sent by simulator
|
||||
${Reset}= Grep File ./${gnb_log_filename} ResetRequest has been sent
|
||||
Should Be Equal ${Reset} gnbe2_simu: ResetRequest has been sent
|
||||
|
||||
Verify logs - e2mgr logs - messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RIC_X2_RESET_REQ_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify logs - e2mgr logs - messege received
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RIC_X2_RESET_RESP_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RAN Restarted messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_RESTARTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message not sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test2}
|
||||
Should Be Equal As Strings ${result} False
|
||||
|
||||
Verify RSM RAN info doesn't exist in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} False
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Reset - ENDC RAN to RIC Scenario 1
|
@@ -0,0 +1,65 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Prepare Ran in Connected connectionStatus
|
||||
Post Request setup node b endc-setup
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test2
|
||||
Integer response status 200
|
||||
String response body ranName test2
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Send Reset reqeust with no cause
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test2/reset
|
||||
Integer response status 204
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
|
||||
RAN Restarted messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_RESTARTED_message_type} ${Meid_test2}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message not sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test2}
|
||||
Should Be Equal As Strings ${result} False
|
||||
|
||||
Verify RSM RAN info doesn't exist in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} False
|
@@ -0,0 +1,66 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Prepare Ran in Connected connectionStatus
|
||||
Post Request setup node b endc-setup
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test2
|
||||
Integer response status 200
|
||||
String response body ranName test2
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Send Reset reqeust with cause
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test2/reset ${resetcausejson}
|
||||
Integer response status 204
|
||||
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
|
||||
RAN Restarted messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_RESTARTED_message_type} ${Meid_test2}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message not sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test2}
|
||||
Should Be Equal As Strings ${result} False
|
||||
|
||||
Verify RSM RAN info doesn't exist in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} False
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Reset API - ENDC RIC to RAN
|
@@ -0,0 +1,56 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Simulator For Load Information
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Process
|
||||
Library ../Scripts/loadscripts.py
|
||||
Library REST ${url}
|
||||
Suite Teardown Stop Simulator
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Verify Load information doesn't exist in redis
|
||||
${result}= loadscripts.verify
|
||||
Should Be Equal As Strings ${result} False
|
||||
|
||||
Adding Load information to overwrite on
|
||||
${result}= loadscripts.add
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
|
||||
Trigger X-2 Setup for load information
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Verify Load information exists in redis
|
||||
${result}= loadscripts.verify_value
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
@@ -0,0 +1,56 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Simulator For Load Information
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Process
|
||||
Library ../Scripts/loadscripts.py
|
||||
Library REST ${url}
|
||||
Suite Teardown Stop Simulator
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Verify Load information doesn't exist in redis
|
||||
${result}= loadscripts.verify
|
||||
Should Be Equal As Strings ${result} False
|
||||
|
||||
|
||||
Trigger X-2 Setup for load information
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Verify Load information does exist in redis
|
||||
Sleep 2s
|
||||
${result}= loadscripts.verify
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Load Infomration scenarios
|
20
setup/e2mgr/Automation/deprecated/RSM_Resource_Status/__init__.robot
Executable file
20
setup/e2mgr/Automation/deprecated/RSM_Resource_Status/__init__.robot
Executable file
@@ -0,0 +1,20 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Documentation Resource status
|
@@ -0,0 +1,57 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource resource_status_keywords.robot
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library OperatingSystem
|
||||
Library REST ${url_rsm}
|
||||
Suite Teardown Delete All Sessions
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Run setup
|
||||
rsmscripts.set_general_config_resource_status_false
|
||||
|
||||
Prepare Ran In Connected Status
|
||||
|
||||
Put Http Start Request To RSM
|
||||
Put Request Resource Status Start
|
||||
Integer response status 204
|
||||
|
||||
Verify RSM RAN Info Status Is Start And True In Redis
|
||||
Sleep 1s
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_true
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM Enable Resource Status Is True In General Configuration In Redis
|
||||
${result}= rsmscripts.verify_general_config_enable_resource_status_true
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify RSM Resource Status Request Message Sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
@@ -0,0 +1,56 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource resource_status_keywords.robot
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library OperatingSystem
|
||||
Library REST ${url_rsm}
|
||||
Suite Teardown Delete All Sessions
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Run setup
|
||||
rsmscripts.set_general_config_resource_status_false
|
||||
|
||||
Prepare Ran In Connected Status
|
||||
|
||||
Put Http Stop Request To RSM
|
||||
Put Request Resource Status Stop
|
||||
Integer response status 204
|
||||
|
||||
Verify RSM RAN Info Status Is Stop And True In Redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_stop_true
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM Enable Resource Status Is False In General Configuration In Redis
|
||||
${result}= rsmscripts.verify_general_config_enable_resource_status_false
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify RSM Resource Status Request Message Not Sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} False
|
@@ -0,0 +1,36 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Documentation Keywords file
|
||||
Library ../Scripts/cleanup_db.py
|
||||
Resource ../Resource/resource.robot
|
||||
Library Collections
|
||||
Library OperatingSystem
|
||||
Library json
|
||||
Library RequestsLibrary
|
||||
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Prepare Ran In Connected Status
|
||||
Create Session x2setup ${url}
|
||||
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
|
||||
${resp}= Post Request x2setup /v1/nodeb/x2-setup data=${json_setup_rsm_tests} headers=${headers}
|
||||
Should Be Equal As Strings ${resp.status_code} 204
|
||||
|
@@ -0,0 +1,55 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource resource_status_keywords.robot
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library OperatingSystem
|
||||
Library REST ${url_rsm}
|
||||
Suite Teardown Delete All Sessions
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Run setup
|
||||
Prepare Ran In Connected Status
|
||||
|
||||
Put Http Start Request To RSM
|
||||
Put Request Resource Status Start
|
||||
Integer response status 204
|
||||
|
||||
Verify RSM RAN Info Status Is Start And True In Redis
|
||||
Sleep 1s
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_true
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM Enable Resource Status Is True In General Configuration In Redis
|
||||
${result}= rsmscripts.verify_general_config_enable_resource_status_true
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
prepare logs for RSM tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify RSM Resource Status Request Message Sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
@@ -0,0 +1,54 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource resource_status_keywords.robot
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library OperatingSystem
|
||||
Library REST ${url_rsm}
|
||||
Suite Teardown Delete All Sessions
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Run setup
|
||||
Prepare Ran In Connected Status
|
||||
|
||||
Put Http Stop Request To RSM
|
||||
Put Request Resource Status Stop
|
||||
Integer response status 204
|
||||
|
||||
#Verify RSM RAN Info Status Is Stop And False In Redis
|
||||
#${result}= rsmscripts.verify_rsm_ran_info_stop_false
|
||||
#Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM Enable Resource Status Is False In General Configuration In Redis
|
||||
${result}= rsmscripts.verify_general_config_enable_resource_status_false
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify RSM Resource Status Request Message Sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource red_button_keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Verify gnb nodeb connection status is CONNECTED and it's associated to an e2t instance
|
||||
Verify connected and associated
|
||||
|
||||
|
||||
|
||||
Execute Shutdown
|
||||
Execute Shutdown
|
||||
|
||||
Verify nodeb's connection status is SHUT_DOWN and it's NOT associated to an e2t instance
|
||||
Verify shutdown for gnb
|
||||
|
||||
Verify E2T instance has no associated RANs
|
||||
Verify E2T instance has no associated RANs
|
@@ -0,0 +1,58 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Library Collections
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Reset - 400 http - 401 Corrupted json
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
String response body connectionStatus CONNECTED
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test1/reset {abc}
|
||||
Integer response status 400
|
||||
Integer response body errorCode 401
|
||||
String response body errorMessage corrupted json
|
||||
|
||||
Reset - 400 http - 401 Validation error
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test1/reset ${resetbadcausejson}
|
||||
Integer response status 400
|
||||
Integer response body errorCode 402
|
||||
String response body errorMessage Validation error
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,57 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Library Collections
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Pre Condition for Connecting - no simu
|
||||
Run And Return Rc And Output ${stop_simu}
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number-1}
|
||||
|
||||
Reset - 400 http - 403 wrong state
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 10s
|
||||
GET /v1/nodeb/test1
|
||||
String response body connectionStatus DISCONNECTED
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test1/reset
|
||||
#Output
|
||||
Integer response status 400
|
||||
Integer response body errorCode 403
|
||||
String response body errorMessage ${403_reset_message}
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,38 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Reset - 404 http - 404 Corrupted json
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test11/reset
|
||||
Integer response status 404
|
||||
Integer response body errorCode 404
|
||||
String response body errorMessage Resource not found
|
||||
|
@@ -0,0 +1,51 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Library Collections
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Endc-setup - 400 http - 401 Corrupted json
|
||||
Set Headers ${header}
|
||||
POST /v1/nodeb/endc-setup
|
||||
Integer response status 400
|
||||
Integer response body errorCode 401
|
||||
String response body errorMessage corrupted json
|
||||
|
||||
Endc-setup - 400 http - 402 Validation error
|
||||
Set Headers ${header}
|
||||
POST /v1/nodeb/endc-setup ${endcbadjson}
|
||||
Integer response status 400
|
||||
Integer response body errorCode 402
|
||||
String response body errorMessage Validation error
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,39 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library REST ${url}
|
||||
Suite Teardown Start Dbass
|
||||
|
||||
*** Test Cases ***
|
||||
ENDC-setup - 500 http - 500 RNIB error
|
||||
Stop Dbass
|
||||
Set Headers ${header}
|
||||
POST /v1/nodeb/endc-setup ${json}
|
||||
Integer response status 500
|
||||
Integer response body errorCode 500
|
||||
String response body errorMessage RNIB error
|
||||
|
||||
|
@@ -0,0 +1,42 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library REST ${url}
|
||||
Suite Teardown Start RoutingManager Simulator
|
||||
|
||||
*** Test Cases ***
|
||||
ENDC-setup - 503 http - 511 No Routing Manager Available
|
||||
Stop RoutingManager Simulator
|
||||
Set Headers ${header}
|
||||
POST /v1/nodeb/x2-setup ${json}
|
||||
Integer response status 503
|
||||
Integer response body errorCode 511
|
||||
String response body errorMessage No Routing Manager Available
|
||||
|
||||
Verify RAN is NOT associated with E2T instance
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance test1 e2t.att.com:38000
|
||||
Should Be True ${result} == False
|
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Library OperatingSystem
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Post Request setup node b x2-setup - setup failure
|
||||
Set Headers ${header}
|
||||
POST /v1/nodeb/x2-setup ${json}
|
||||
Sleep 1s
|
||||
POST /v1/nodeb/x2-setup ${json}
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body connectionStatus CONNECTED_SETUP_FAILED
|
||||
String response body failureType X2_SETUP_FAILURE
|
||||
|
||||
|
||||
|
@@ -0,0 +1,81 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
*** Test Cases ***
|
||||
X2 - Setup Test
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
|
||||
X2 - Get Nodeb
|
||||
Get Request Node B Enb test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body ip ${ip_gnb_simu}
|
||||
Integer response body port 5577
|
||||
String response body connectionStatus CONNECTED
|
||||
String response body nodeType ENB
|
||||
String response body associatedE2tInstanceAddress e2t.att.com:38000
|
||||
String response body enb enbType MACRO_ENB
|
||||
Integer response body enb servedCells 0 pci 99
|
||||
String response body enb servedCells 0 cellId 02f829:0007ab00
|
||||
String response body enb servedCells 0 tac 0102
|
||||
String response body enb servedCells 0 broadcastPlmns 0 "02f829"
|
||||
Integer response body enb servedCells 0 choiceEutraMode fdd ulearFcn 1
|
||||
Integer response body enb servedCells 0 choiceEutraMode fdd dlearFcn 1
|
||||
String response body enb servedCells 0 choiceEutraMode fdd ulTransmissionBandwidth BW50
|
||||
String response body enb servedCells 0 choiceEutraMode fdd dlTransmissionBandwidth BW50
|
||||
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
|
||||
X2 - RAN Connected message going to be sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_CONNECTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM RAN info exists in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RAN is associated with E2T instance
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance test1 e2t.att.com:38000
|
||||
Should Be True ${result}
|
||||
|
||||
|
||||
|
24
setup/e2mgr/Automation/deprecated/X2-Setup/__init__.robot
Normal file
24
setup/e2mgr/Automation/deprecated/X2-Setup/__init__.robot
Normal file
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation X2-Setup ENB
|
@@ -0,0 +1,67 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
*** Test Cases ***
|
||||
X2 - Setup Test 1
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
|
||||
X2 - Setup Test 2
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
|
||||
X2 - Get Nodeb
|
||||
Get Request Node B Enb test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body associatedE2tInstanceAddress e2t.att.com:38000
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
X2 - RAN Connected message going to be sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_CONNECTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM RAN info exists in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RAN is associated with E2T instance
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance test1 e2t.att.com:38000
|
||||
Should Be True ${result}
|
@@ -0,0 +1,71 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library ../Scripts/e2mdbscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
*** Test Cases ***
|
||||
X2 - Setup Test 1
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
|
||||
Restart Simulator
|
||||
Restart Simulator
|
||||
|
||||
Verify RAN is NOT associated with E2T instance
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance test1 e2t.att.com:38000
|
||||
Should Be True ${result} == False
|
||||
|
||||
|
||||
X2 - Setup Test 2
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
|
||||
X2 - Get Nodeb
|
||||
Get Request Node B Enb test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body associatedE2tInstanceAddress e2t.att.com:38000
|
||||
|
||||
prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
X2 - RAN Connected message going to be sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_CONNECTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM RAN info exists in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RAN is associated with E2T instance
|
||||
${result} e2mdbscripts.verify_ran_is_associated_with_e2t_instance test1 e2t.att.com:38000
|
||||
Should Be True ${result}
|
@@ -0,0 +1,79 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library String
|
||||
Library Process
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Prepare Ran in Connected connectionStatus
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
Run Reset from RAN
|
||||
Run ${Run_Config}
|
||||
Sleep 1s
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify logs - Reset Sent by simulator
|
||||
${Reset}= Grep File ./${gnb_log_filename} ResetRequest has been sent
|
||||
Should Be Equal ${Reset} gnbe2_simu: ResetRequest has been sent
|
||||
|
||||
Verify logs - e2mgr logs - messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RIC_X2_RESET_REQ_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify logs - e2mgr logs - messege received
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RIC_X2_RESET_RESP_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RAN Restarted messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_RESTARTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM RAN info exists in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} True
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Reset - X2 RAN to RIC Scenario 1
|
@@ -0,0 +1,81 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library Collections
|
||||
Library REST ${url}
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Library String
|
||||
Library Process
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/find_error_script.py
|
||||
Suite Teardown Start Dbass with 4 dockers
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Prepare Ran in Connected connectionStatus
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
Stop RNIB
|
||||
Stop Dbass
|
||||
|
||||
|
||||
Run Reset from RAN
|
||||
Run ${Run_Config}
|
||||
Sleep 60s
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
Verify logs - Reset Sent by simulator
|
||||
${Reset}= Grep File ./${gnb_log_filename} ResetRequest has been sent
|
||||
Should Be Equal ${Reset} gnbe2_simu: ResetRequest has been sent
|
||||
|
||||
Verify logs for restart received
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RIC_X2_RESET_REQ_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify for error on retrying
|
||||
${result} find_error_script.find_error ${EXECDIR} ${e2mgr_log_filename} ${failed_to_retrieve_nodeb_message}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
Start Dbass with 4 dockers
|
||||
Run And Return Rc And Output ${dbass_remove}
|
||||
Run And Return Rc And Output ${dbass_start}
|
||||
Sleep 5s
|
||||
${result}= Run And Return Rc And Output ${docker_command}
|
||||
Should Be Equal As Integers ${result[1]} ${docker_number-1}
|
||||
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Reset - RAN to RIC Scenario Unhappy
|
@@ -0,0 +1,65 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Prepare Ran in Connected connectionStatus
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Send Reset reqeust with no cause
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test1/reset
|
||||
Integer response status 204
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
|
||||
RAN Restarted messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_RESTARTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM RAN info exists in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} True
|
@@ -0,0 +1,66 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Suite Setup Prepare Enviorment
|
||||
Resource ../Resource/scripts_variables.robot
|
||||
Resource ../Resource/resource.robot
|
||||
Resource ../Resource/Keywords.robot
|
||||
Library OperatingSystem
|
||||
Library ../Scripts/find_rmr_message.py
|
||||
Library ../Scripts/rsmscripts.py
|
||||
Library REST ${url}
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Prepare Ran in Connected connectionStatus
|
||||
Post Request setup node b x-2
|
||||
Integer response status 204
|
||||
Sleep 1s
|
||||
GET /v1/nodeb/test1
|
||||
Integer response status 200
|
||||
String response body ranName test1
|
||||
String response body connectionStatus CONNECTED
|
||||
|
||||
|
||||
Send Reset reqeust with cause
|
||||
Set Headers ${header}
|
||||
PUT /v1/nodeb/test1/reset ${resetcausejson}
|
||||
Integer response status 204
|
||||
|
||||
|
||||
Prepare logs for tests
|
||||
Remove log files
|
||||
Save logs
|
||||
|
||||
|
||||
RAN Restarted messege sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${e2mgr_log_filename} ${RAN_RESTARTED_message_type} ${Meid_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
RSM RESOURCE STATUS REQUEST message sent
|
||||
${result} find_rmr_message.verify_logs ${EXECDIR} ${rsm_log_filename} ${RIC_RES_STATUS_REQ_message_type_successfully_sent} ${RAN_NAME_test1}
|
||||
Should Be Equal As Strings ${result} True
|
||||
|
||||
Verify RSM RAN info exists in redis
|
||||
${result}= rsmscripts.verify_rsm_ran_info_start_false
|
||||
Should Be Equal As Strings ${result} True
|
@@ -0,0 +1,24 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
|
||||
*** Settings ***
|
||||
Documentation ORAN Reset API - X2 RIC to RAN
|
4
setup/e2mgr/Automation/run_tests.sh
Executable file
4
setup/e2mgr/Automation/run_tests.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd /opt/Tests
|
||||
robot .
|
124
setup/e2mgr/E2Manager/3rdparty/asn1codec/.cproject
vendored
Normal file
124
setup/e2mgr/E2Manager/3rdparty/asn1codec/.cproject
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
|
||||
<cconfiguration id="0.185205240">
|
||||
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.185205240" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
|
||||
<externalSettings/>
|
||||
|
||||
<extensions>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
</extensions>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.185205240" name="Default" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.connection=http://127.0.0.1:2375" parent="org.eclipse.cdt.build.core.prefbase.cfg">
|
||||
|
||||
<folderInfo id="0.185205240." name="/" resourcePath="">
|
||||
|
||||
<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.721725282" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
|
||||
|
||||
<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.721725282.638857149" name=""/>
|
||||
|
||||
<builder id="org.eclipse.cdt.build.core.settings.default.builder.1591100253" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
|
||||
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.libs.1799128674" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
|
||||
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.282918221" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.271732010" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.1005745722" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1856122225" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.74715445" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="org.eclipse.cdt.build.core.settings.holder.incpaths.487224202" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
|
||||
<listOptionValue builtIn="false" value="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="/usr/include/x86_64-linux-gnu"/>
|
||||
|
||||
</option>
|
||||
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.808058438" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
|
||||
</tool>
|
||||
|
||||
</toolChain>
|
||||
|
||||
</folderInfo>
|
||||
|
||||
<fileInfo id="0.185205240.2054672562" name="configuration_update_wrapper.c" rcbsApplicability="disable" resourcePath="src/configuration_update_wrapper.c" toolsToInvoke="org.eclipse.cdt.build.core.settings.holder.74715445.1888082156">
|
||||
|
||||
<tool id="org.eclipse.cdt.build.core.settings.holder.74715445.1888082156" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder.282918221">
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="org.eclipse.cdt.build.core.settings.holder.incpaths.1119711765" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
|
||||
|
||||
<listOptionValue builtIn="false" value="/usr/include"/>
|
||||
|
||||
</option>
|
||||
|
||||
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1074471625" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
|
||||
|
||||
</tool>
|
||||
|
||||
</fileInfo>
|
||||
|
||||
</configuration>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
|
||||
</cconfiguration>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
|
||||
<project id="asn1codec.null.2042648690" name="asn1codec"/>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
|
||||
<scannerConfigBuildInfo instanceId="0.185205240">
|
||||
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
|
||||
</scannerConfigBuildInfo>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
|
||||
</cproject>
|
27
setup/e2mgr/E2Manager/3rdparty/asn1codec/.project
vendored
Normal file
27
setup/e2mgr/E2Manager/3rdparty/asn1codec/.project
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>asn1codec</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
72
setup/e2mgr/E2Manager/3rdparty/asn1codec/Makefile
vendored
Normal file
72
setup/e2mgr/E2Manager/3rdparty/asn1codec/Makefile
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 AT&T Intellectual Property.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
# platform project (RICP).
|
||||
#
|
||||
CFLAGS=-Wall -Wpedantic -std=c11 -Og -I./inc -I./src -I./e2ap_engine -DASN_DISABLE_OER_SUPPORT -DASN_PDU_COLLECTION -D_POSIX_C_SOURCE=200809L -ggdb
|
||||
export CFLAGS
|
||||
OBJDIR=lib
|
||||
LIB=$(OBJDIR)/libe2ap_codec.a
|
||||
LIBSRC=configuration_update_wrapper.c x2setup_request_wrapper.c x2reset_request_wrapper.c x2reset_response_wrapper.c asn1codec_utils.c
|
||||
LIBOBJ=$(addprefix $(OBJDIR)/,$(LIBSRC:.c=.o))
|
||||
TESTX2SETUPREQUEST=tests/x2setup_request_wrapper_test
|
||||
TESTCONFUPDATE=tests/configuration_update_wrapper_test
|
||||
TESTX2RESETREQUEST=tests/x2reset_request_wrapper_test
|
||||
TESTX2RESETRESPONSE=tests/x2reset_response_wrapper_test
|
||||
TESTUNPACKXER=tests/unpack_xer
|
||||
|
||||
.PHONY: all clean e2ap_engine
|
||||
|
||||
all: $(LIB) $(TESTX2SETUPREQUEST) $(TESTCONFUPDATE) $(TESTX2RESETREQUEST) $(TESTUNPACKXER) $(TESTX2RESETRESPONSE)
|
||||
|
||||
e2ap_engine/libasncodec.a:
|
||||
cd e2ap_engine/ && make -f converter-example.mk
|
||||
|
||||
$(OBJDIR)/%.o: src/%.c e2ap_engine/*.h
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(LIB): e2ap_engine/libasncodec.a $(LIBOBJ)
|
||||
$(AR) -crv $(LIB) $(LIBOBJ)
|
||||
|
||||
$(TESTX2SETUPREQUEST): % : $(LIB) src/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) src/$@.c -o $@ $(LIB) e2ap_engine/libasncodec.a
|
||||
|
||||
$(TESTCONFUPDATE): % : $(LIB) src/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) src/$@.c -o $@ $(LIB) e2ap_engine/libasncodec.a
|
||||
|
||||
$(TESTX2RESETREQUEST): % : $(LIB) src/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) src/$@.c -o $@ $(LIB) e2ap_engine/libasncodec.a
|
||||
|
||||
$(TESTUNPACKXER): % : $(LIB) src/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) src/$@.c -o $@ $(LIB) e2ap_engine/libasncodec.a
|
||||
|
||||
$(TESTX2RESETRESPONSE): % : $(LIB) src/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) src/$@.c -o $@ $(LIB) e2ap_engine/libasncodec.a
|
||||
|
||||
clean:
|
||||
rm -rf $(OBJDIR) tests
|
||||
clobber:
|
||||
cd e2ap_engine/ && make -f converter-example.mk clean
|
||||
rm -rf $(OBJDIR) tests
|
96
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABS-Status.c
vendored
Normal file
96
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABS-Status.c
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#include "ABS-Status.h"
|
||||
|
||||
#include "ProtocolExtensionContainer.h"
|
||||
asn_TYPE_member_t asn_MBR_ABS_Status_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABS_Status, dL_ABS_status),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_DL_ABS_status,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"dL-ABS-status"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABS_Status, usableABSInformation),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
+1, /* EXPLICIT tag at current level */
|
||||
&asn_DEF_UsableABSInformation,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"usableABSInformation"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct ABS_Status, iE_Extensions),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ProtocolExtensionContainer_170P106,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"iE-Extensions"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_ABS_Status_oms_1[] = { 2 };
|
||||
static const ber_tlv_tag_t asn_DEF_ABS_Status_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_ABS_Status_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dL-ABS-status */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* usableABSInformation */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_ABS_Status_specs_1 = {
|
||||
sizeof(struct ABS_Status),
|
||||
offsetof(struct ABS_Status, _asn_ctx),
|
||||
asn_MAP_ABS_Status_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
asn_MAP_ABS_Status_oms_1, /* Optional members */
|
||||
1, 0, /* Root/Additions */
|
||||
3, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ABS_Status = {
|
||||
"ABS-Status",
|
||||
"ABS-Status",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_ABS_Status_tags_1,
|
||||
sizeof(asn_DEF_ABS_Status_tags_1)
|
||||
/sizeof(asn_DEF_ABS_Status_tags_1[0]), /* 1 */
|
||||
asn_DEF_ABS_Status_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ABS_Status_tags_1)
|
||||
/sizeof(asn_DEF_ABS_Status_tags_1[0]), /* 1 */
|
||||
{ 0, 0, SEQUENCE_constraint },
|
||||
asn_MBR_ABS_Status_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_ABS_Status_specs_1 /* Additional specs */
|
||||
};
|
||||
|
73
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABS-Status.h
vendored
Normal file
73
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABS-Status.h
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#ifndef _ABS_Status_H_
|
||||
#define _ABS_Status_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "DL-ABS-status.h"
|
||||
#include "UsableABSInformation.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
struct ProtocolExtensionContainer;
|
||||
|
||||
/* ABS-Status */
|
||||
typedef struct ABS_Status {
|
||||
DL_ABS_status_t dL_ABS_status;
|
||||
UsableABSInformation_t usableABSInformation;
|
||||
struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ABS_Status_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ABS_Status;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_ABS_Status_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_ABS_Status_1[3];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABS_Status_H_ */
|
||||
#include "asn_internal.h"
|
97
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformation.c
vendored
Normal file
97
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformation.c
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#include "ABSInformation.h"
|
||||
|
||||
#include "ABSInformationFDD.h"
|
||||
#include "ABSInformationTDD.h"
|
||||
asn_per_constraints_t asn_PER_type_ABSInformation_constr_1 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
asn_TYPE_member_t asn_MBR_ABSInformation_1[] = {
|
||||
{ ATF_POINTER, 0, offsetof(struct ABSInformation, choice.fdd),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ABSInformationFDD,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"fdd"
|
||||
},
|
||||
{ ATF_POINTER, 0, offsetof(struct ABSInformation, choice.tdd),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ABSInformationTDD,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"tdd"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformation, choice.abs_inactive),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NULL,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"abs-inactive"
|
||||
},
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_ABSInformation_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fdd */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tdd */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* abs-inactive */
|
||||
};
|
||||
asn_CHOICE_specifics_t asn_SPC_ABSInformation_specs_1 = {
|
||||
sizeof(struct ABSInformation),
|
||||
offsetof(struct ABSInformation, _asn_ctx),
|
||||
offsetof(struct ABSInformation, present),
|
||||
sizeof(((struct ABSInformation *)0)->present),
|
||||
asn_MAP_ABSInformation_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
0, 0,
|
||||
3 /* Extensions start */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ABSInformation = {
|
||||
"ABSInformation",
|
||||
"ABSInformation",
|
||||
&asn_OP_CHOICE,
|
||||
0, /* No effective tags (pointer) */
|
||||
0, /* No effective tags (count) */
|
||||
0, /* No tags (pointer) */
|
||||
0, /* No tags (count) */
|
||||
{ 0, &asn_PER_type_ABSInformation_constr_1, CHOICE_constraint },
|
||||
asn_MBR_ABSInformation_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_ABSInformation_specs_1 /* Additional specs */
|
||||
};
|
||||
|
87
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformation.h
vendored
Normal file
87
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformation.h
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#ifndef _ABSInformation_H_
|
||||
#define _ABSInformation_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "NULL.h"
|
||||
#include "constr_CHOICE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum ABSInformation_PR {
|
||||
ABSInformation_PR_NOTHING, /* No components present */
|
||||
ABSInformation_PR_fdd,
|
||||
ABSInformation_PR_tdd,
|
||||
ABSInformation_PR_abs_inactive
|
||||
/* Extensions may appear below */
|
||||
|
||||
} ABSInformation_PR;
|
||||
|
||||
/* Forward declarations */
|
||||
struct ABSInformationFDD;
|
||||
struct ABSInformationTDD;
|
||||
|
||||
/* ABSInformation */
|
||||
typedef struct ABSInformation {
|
||||
ABSInformation_PR present;
|
||||
union ABSInformation_u {
|
||||
struct ABSInformationFDD *fdd;
|
||||
struct ABSInformationTDD *tdd;
|
||||
NULL_t abs_inactive;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
} choice;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ABSInformation_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ABSInformation;
|
||||
extern asn_CHOICE_specifics_t asn_SPC_ABSInformation_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_ABSInformation_1[3];
|
||||
extern asn_per_constraints_t asn_PER_type_ABSInformation_constr_1;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABSInformation_H_ */
|
||||
#include "asn_internal.h"
|
228
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationFDD.c
vendored
Normal file
228
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationFDD.c
vendored
Normal file
@@ -0,0 +1,228 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#include "ABSInformationFDD.h"
|
||||
|
||||
#include "ProtocolExtensionContainer.h"
|
||||
/*
|
||||
* This type is implemented using NativeEnumerated,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static int
|
||||
memb_abs_pattern_info_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->size > 0) {
|
||||
/* Size in bits */
|
||||
size = 8 * st->size - (st->bits_unused & 0x07);
|
||||
} else {
|
||||
size = 0;
|
||||
}
|
||||
|
||||
if((size == 40)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_measurement_subset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->size > 0) {
|
||||
/* Size in bits */
|
||||
size = 8 * st->size - (st->bits_unused & 0x07);
|
||||
} else {
|
||||
size = 0;
|
||||
}
|
||||
|
||||
if((size == 40)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_abs_pattern_info_constr_2 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 0, 0, 40, 40 } /* (SIZE(40..40)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_measurement_subset_constr_8 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 0, 0, 40, 40 } /* (SIZE(40..40)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static const asn_INTEGER_enum_map_t asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3[] = {
|
||||
{ 0, 3, "one" },
|
||||
{ 1, 3, "two" },
|
||||
{ 2, 4, "four" }
|
||||
/* This list is extensible */
|
||||
};
|
||||
static const unsigned int asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3[] = {
|
||||
2, /* four(2) */
|
||||
0, /* one(0) */
|
||||
1 /* two(1) */
|
||||
/* This list is extensible */
|
||||
};
|
||||
static const asn_INTEGER_specifics_t asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 = {
|
||||
asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3, /* N => "tag"; sorted by N */
|
||||
3, /* Number of elements in the maps */
|
||||
4, /* Extensions before this member */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3 = {
|
||||
"numberOfCellSpecificAntennaPorts",
|
||||
"numberOfCellSpecificAntennaPorts",
|
||||
&asn_OP_NativeEnumerated,
|
||||
asn_DEF_numberOfCellSpecificAntennaPorts_tags_3,
|
||||
sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3)
|
||||
/sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]) - 1, /* 1 */
|
||||
asn_DEF_numberOfCellSpecificAntennaPorts_tags_3, /* Same as above */
|
||||
sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3)
|
||||
/sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]), /* 2 */
|
||||
{ 0, &asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3, NativeEnumerated_constraint },
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 /* Additional specs */
|
||||
};
|
||||
|
||||
asn_TYPE_member_t asn_MBR_ABSInformationFDD_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD, abs_pattern_info),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_BIT_STRING,
|
||||
0,
|
||||
{ 0, &asn_PER_memb_abs_pattern_info_constr_2, memb_abs_pattern_info_constraint_1 },
|
||||
0, 0, /* No default value */
|
||||
"abs-pattern-info"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD, numberOfCellSpecificAntennaPorts),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_numberOfCellSpecificAntennaPorts_3,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"numberOfCellSpecificAntennaPorts"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformationFDD, measurement_subset),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_BIT_STRING,
|
||||
0,
|
||||
{ 0, &asn_PER_memb_measurement_subset_constr_8, memb_measurement_subset_constraint_1 },
|
||||
0, 0, /* No default value */
|
||||
"measurement-subset"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct ABSInformationFDD, iE_Extensions),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ProtocolExtensionContainer_170P104,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"iE-Extensions"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_ABSInformationFDD_oms_1[] = { 3 };
|
||||
static const ber_tlv_tag_t asn_DEF_ABSInformationFDD_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_ABSInformationFDD_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* abs-pattern-info */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* numberOfCellSpecificAntennaPorts */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* measurement-subset */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_ABSInformationFDD_specs_1 = {
|
||||
sizeof(struct ABSInformationFDD),
|
||||
offsetof(struct ABSInformationFDD, _asn_ctx),
|
||||
asn_MAP_ABSInformationFDD_tag2el_1,
|
||||
4, /* Count of tags in the map */
|
||||
asn_MAP_ABSInformationFDD_oms_1, /* Optional members */
|
||||
1, 0, /* Root/Additions */
|
||||
4, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ABSInformationFDD = {
|
||||
"ABSInformationFDD",
|
||||
"ABSInformationFDD",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_ABSInformationFDD_tags_1,
|
||||
sizeof(asn_DEF_ABSInformationFDD_tags_1)
|
||||
/sizeof(asn_DEF_ABSInformationFDD_tags_1[0]), /* 1 */
|
||||
asn_DEF_ABSInformationFDD_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ABSInformationFDD_tags_1)
|
||||
/sizeof(asn_DEF_ABSInformationFDD_tags_1[0]), /* 1 */
|
||||
{ 0, 0, SEQUENCE_constraint },
|
||||
asn_MBR_ABSInformationFDD_1,
|
||||
4, /* Elements count */
|
||||
&asn_SPC_ABSInformationFDD_specs_1 /* Additional specs */
|
||||
};
|
||||
|
85
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationFDD.h
vendored
Normal file
85
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationFDD.h
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#ifndef _ABSInformationFDD_H_
|
||||
#define _ABSInformationFDD_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "BIT_STRING.h"
|
||||
#include "NativeEnumerated.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum ABSInformationFDD__numberOfCellSpecificAntennaPorts {
|
||||
ABSInformationFDD__numberOfCellSpecificAntennaPorts_one = 0,
|
||||
ABSInformationFDD__numberOfCellSpecificAntennaPorts_two = 1,
|
||||
ABSInformationFDD__numberOfCellSpecificAntennaPorts_four = 2
|
||||
/*
|
||||
* Enumeration is extensible
|
||||
*/
|
||||
} e_ABSInformationFDD__numberOfCellSpecificAntennaPorts;
|
||||
|
||||
/* Forward declarations */
|
||||
struct ProtocolExtensionContainer;
|
||||
|
||||
/* ABSInformationFDD */
|
||||
typedef struct ABSInformationFDD {
|
||||
BIT_STRING_t abs_pattern_info;
|
||||
long numberOfCellSpecificAntennaPorts;
|
||||
BIT_STRING_t measurement_subset;
|
||||
struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ABSInformationFDD_t;
|
||||
|
||||
/* Implementation */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3; // (Use -fall-defs-global to expose) */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ABSInformationFDD;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_ABSInformationFDD_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_ABSInformationFDD_1[4];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABSInformationFDD_H_ */
|
||||
#include "asn_internal.h"
|
228
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationTDD.c
vendored
Normal file
228
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationTDD.c
vendored
Normal file
@@ -0,0 +1,228 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#include "ABSInformationTDD.h"
|
||||
|
||||
#include "ProtocolExtensionContainer.h"
|
||||
/*
|
||||
* This type is implemented using NativeEnumerated,
|
||||
* so here we adjust the DEF accordingly.
|
||||
*/
|
||||
static int
|
||||
memb_abs_pattern_info_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->size > 0) {
|
||||
/* Size in bits */
|
||||
size = 8 * st->size - (st->bits_unused & 0x07);
|
||||
} else {
|
||||
size = 0;
|
||||
}
|
||||
|
||||
if((size >= 1 && size <= 70)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
memb_measurement_subset_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->size > 0) {
|
||||
/* Size in bits */
|
||||
size = 8 * st->size - (st->bits_unused & 0x07);
|
||||
} else {
|
||||
size = 0;
|
||||
}
|
||||
|
||||
if((size >= 1 && size <= 70)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
ASN__CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3 CC_NOTUSED = {
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_abs_pattern_info_constr_2 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 70 } /* (SIZE(1..70,...)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_measurement_subset_constr_8 CC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1, 70 } /* (SIZE(1..70,...)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static const asn_INTEGER_enum_map_t asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3[] = {
|
||||
{ 0, 3, "one" },
|
||||
{ 1, 3, "two" },
|
||||
{ 2, 4, "four" }
|
||||
/* This list is extensible */
|
||||
};
|
||||
static const unsigned int asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3[] = {
|
||||
2, /* four(2) */
|
||||
0, /* one(0) */
|
||||
1 /* two(1) */
|
||||
/* This list is extensible */
|
||||
};
|
||||
static const asn_INTEGER_specifics_t asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 = {
|
||||
asn_MAP_numberOfCellSpecificAntennaPorts_value2enum_3, /* "tag" => N; sorted by tag */
|
||||
asn_MAP_numberOfCellSpecificAntennaPorts_enum2value_3, /* N => "tag"; sorted by N */
|
||||
3, /* Number of elements in the maps */
|
||||
4, /* Extensions before this member */
|
||||
1, /* Strict enumeration */
|
||||
0, /* Native long size */
|
||||
0
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3 = {
|
||||
"numberOfCellSpecificAntennaPorts",
|
||||
"numberOfCellSpecificAntennaPorts",
|
||||
&asn_OP_NativeEnumerated,
|
||||
asn_DEF_numberOfCellSpecificAntennaPorts_tags_3,
|
||||
sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3)
|
||||
/sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]) - 1, /* 1 */
|
||||
asn_DEF_numberOfCellSpecificAntennaPorts_tags_3, /* Same as above */
|
||||
sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3)
|
||||
/sizeof(asn_DEF_numberOfCellSpecificAntennaPorts_tags_3[0]), /* 2 */
|
||||
{ 0, &asn_PER_type_numberOfCellSpecificAntennaPorts_constr_3, NativeEnumerated_constraint },
|
||||
0, 0, /* Defined elsewhere */
|
||||
&asn_SPC_numberOfCellSpecificAntennaPorts_specs_3 /* Additional specs */
|
||||
};
|
||||
|
||||
asn_TYPE_member_t asn_MBR_ABSInformationTDD_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD, abs_pattern_info),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_BIT_STRING,
|
||||
0,
|
||||
{ 0, &asn_PER_memb_abs_pattern_info_constr_2, memb_abs_pattern_info_constraint_1 },
|
||||
0, 0, /* No default value */
|
||||
"abs-pattern-info"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD, numberOfCellSpecificAntennaPorts),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_numberOfCellSpecificAntennaPorts_3,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"numberOfCellSpecificAntennaPorts"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct ABSInformationTDD, measurement_subset),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_BIT_STRING,
|
||||
0,
|
||||
{ 0, &asn_PER_memb_measurement_subset_constr_8, memb_measurement_subset_constraint_1 },
|
||||
0, 0, /* No default value */
|
||||
"measurement-subset"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct ABSInformationTDD, iE_Extensions),
|
||||
(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ProtocolExtensionContainer_170P105,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"iE-Extensions"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_ABSInformationTDD_oms_1[] = { 3 };
|
||||
static const ber_tlv_tag_t asn_DEF_ABSInformationTDD_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_ABSInformationTDD_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* abs-pattern-info */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* numberOfCellSpecificAntennaPorts */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* measurement-subset */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_ABSInformationTDD_specs_1 = {
|
||||
sizeof(struct ABSInformationTDD),
|
||||
offsetof(struct ABSInformationTDD, _asn_ctx),
|
||||
asn_MAP_ABSInformationTDD_tag2el_1,
|
||||
4, /* Count of tags in the map */
|
||||
asn_MAP_ABSInformationTDD_oms_1, /* Optional members */
|
||||
1, 0, /* Root/Additions */
|
||||
4, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ABSInformationTDD = {
|
||||
"ABSInformationTDD",
|
||||
"ABSInformationTDD",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_ABSInformationTDD_tags_1,
|
||||
sizeof(asn_DEF_ABSInformationTDD_tags_1)
|
||||
/sizeof(asn_DEF_ABSInformationTDD_tags_1[0]), /* 1 */
|
||||
asn_DEF_ABSInformationTDD_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_ABSInformationTDD_tags_1)
|
||||
/sizeof(asn_DEF_ABSInformationTDD_tags_1[0]), /* 1 */
|
||||
{ 0, 0, SEQUENCE_constraint },
|
||||
asn_MBR_ABSInformationTDD_1,
|
||||
4, /* Elements count */
|
||||
&asn_SPC_ABSInformationTDD_specs_1 /* Additional specs */
|
||||
};
|
||||
|
85
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationTDD.h
vendored
Normal file
85
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ABSInformationTDD.h
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#ifndef _ABSInformationTDD_H_
|
||||
#define _ABSInformationTDD_H_
|
||||
|
||||
|
||||
#include "asn_application.h"
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "BIT_STRING.h"
|
||||
#include "NativeEnumerated.h"
|
||||
#include "constr_SEQUENCE.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
typedef enum ABSInformationTDD__numberOfCellSpecificAntennaPorts {
|
||||
ABSInformationTDD__numberOfCellSpecificAntennaPorts_one = 0,
|
||||
ABSInformationTDD__numberOfCellSpecificAntennaPorts_two = 1,
|
||||
ABSInformationTDD__numberOfCellSpecificAntennaPorts_four = 2
|
||||
/*
|
||||
* Enumeration is extensible
|
||||
*/
|
||||
} e_ABSInformationTDD__numberOfCellSpecificAntennaPorts;
|
||||
|
||||
/* Forward declarations */
|
||||
struct ProtocolExtensionContainer;
|
||||
|
||||
/* ABSInformationTDD */
|
||||
typedef struct ABSInformationTDD {
|
||||
BIT_STRING_t abs_pattern_info;
|
||||
long numberOfCellSpecificAntennaPorts;
|
||||
BIT_STRING_t measurement_subset;
|
||||
struct ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} ABSInformationTDD_t;
|
||||
|
||||
/* Implementation */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_numberOfCellSpecificAntennaPorts_3; // (Use -fall-defs-global to expose) */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ABSInformationTDD;
|
||||
extern asn_SEQUENCE_specifics_t asn_SPC_ABSInformationTDD_specs_1;
|
||||
extern asn_TYPE_member_t asn_MBR_ABSInformationTDD_1[4];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _ABSInformationTDD_H_ */
|
||||
#include "asn_internal.h"
|
451
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ANY.c
vendored
Normal file
451
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ANY.c
vendored
Normal file
@@ -0,0 +1,451 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <ANY.h>
|
||||
#include <errno.h>
|
||||
|
||||
asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = {
|
||||
sizeof(ANY_t),
|
||||
offsetof(ANY_t, _asn_ctx),
|
||||
ASN_OSUBV_ANY
|
||||
};
|
||||
asn_TYPE_operation_t asn_OP_ANY = {
|
||||
OCTET_STRING_free,
|
||||
OCTET_STRING_print,
|
||||
OCTET_STRING_compare,
|
||||
OCTET_STRING_decode_ber,
|
||||
OCTET_STRING_encode_der,
|
||||
OCTET_STRING_decode_xer_hex,
|
||||
ANY_encode_xer,
|
||||
#ifdef ASN_DISABLE_OER_SUPPORT
|
||||
0,
|
||||
0,
|
||||
#else
|
||||
0,
|
||||
0,
|
||||
#endif /* ASN_DISABLE_OER_SUPPORT */
|
||||
#ifdef ASN_DISABLE_PER_SUPPORT
|
||||
0, 0, 0, 0,
|
||||
#else
|
||||
ANY_decode_uper,
|
||||
ANY_encode_uper,
|
||||
ANY_decode_aper,
|
||||
ANY_encode_aper,
|
||||
#endif /* ASN_DISABLE_PER_SUPPORT */
|
||||
0, /* Random fill is not defined for ANY type */
|
||||
0 /* Use generic outmost tag fetcher */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_ANY = {
|
||||
"ANY",
|
||||
"ANY",
|
||||
&asn_OP_ANY,
|
||||
0, 0, 0, 0,
|
||||
{ 0, 0, asn_generic_no_constraint }, /* No constraints */
|
||||
0, 0, /* No members */
|
||||
&asn_SPC_ANY_specs,
|
||||
};
|
||||
|
||||
#undef RETURN
|
||||
#define RETURN(_code) \
|
||||
do { \
|
||||
asn_dec_rval_t tmprval; \
|
||||
tmprval.code = _code; \
|
||||
tmprval.consumed = consumed_myself; \
|
||||
return tmprval; \
|
||||
} while(0)
|
||||
|
||||
asn_enc_rval_t
|
||||
ANY_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
|
||||
enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
|
||||
void *app_key) {
|
||||
if(flags & XER_F_CANONICAL) {
|
||||
/*
|
||||
* Canonical XER-encoding of ANY type is not supported.
|
||||
*/
|
||||
ASN__ENCODE_FAILED;
|
||||
}
|
||||
|
||||
/* Dump as binary */
|
||||
return OCTET_STRING_encode_xer(td, sptr, ilevel, flags, cb, app_key);
|
||||
}
|
||||
|
||||
struct _callback_arg {
|
||||
uint8_t *buffer;
|
||||
size_t offset;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
static int ANY__consume_bytes(const void *buffer, size_t size, void *key);
|
||||
|
||||
int
|
||||
ANY_fromType(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
struct _callback_arg arg;
|
||||
asn_enc_rval_t erval = {0,0,0};
|
||||
|
||||
if(!st || !td) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!sptr) {
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
st->size = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
arg.offset = arg.size = 0;
|
||||
arg.buffer = 0;
|
||||
|
||||
erval = der_encode(td, sptr, ANY__consume_bytes, &arg);
|
||||
if(erval.encoded == -1) {
|
||||
if(arg.buffer) FREEMEM(arg.buffer);
|
||||
return -1;
|
||||
}
|
||||
assert((size_t)erval.encoded == arg.offset);
|
||||
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
st->buf = arg.buffer;
|
||||
st->size = arg.offset;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
uint8_t *buffer = NULL;
|
||||
ssize_t erval;
|
||||
|
||||
if(!st || !td) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!sptr) {
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
st->size = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
erval = aper_encode_to_new_buffer(td, td->encoding_constraints.per_constraints, sptr, (void**)&buffer);
|
||||
|
||||
if(erval == -1) {
|
||||
if(buffer) FREEMEM(buffer);
|
||||
return -1;
|
||||
}
|
||||
assert((size_t)erval > 0);
|
||||
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
st->buf = buffer;
|
||||
st->size = erval;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ANY_t *
|
||||
ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
ANY_t tmp;
|
||||
ANY_t *st;
|
||||
|
||||
if(!td || !sptr) {
|
||||
errno = EINVAL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
memset(&tmp, 0, sizeof(tmp));
|
||||
|
||||
if(ANY_fromType(&tmp, td, sptr)) return 0;
|
||||
|
||||
st = (ANY_t *)CALLOC(1, sizeof(ANY_t));
|
||||
if(st) {
|
||||
*st = tmp;
|
||||
return st;
|
||||
} else {
|
||||
FREEMEM(tmp.buf);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
ANY_t *
|
||||
ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
ANY_t tmp;
|
||||
ANY_t *st;
|
||||
|
||||
if(!td || !sptr) {
|
||||
errno = EINVAL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
memset(&tmp, 0, sizeof(tmp));
|
||||
|
||||
if(ANY_fromType_aper(&tmp, td, sptr)) return 0;
|
||||
|
||||
st = (ANY_t *)CALLOC(1, sizeof(ANY_t));
|
||||
if(st) {
|
||||
*st = tmp;
|
||||
return st;
|
||||
} else {
|
||||
FREEMEM(tmp.buf);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) {
|
||||
asn_dec_rval_t rval;
|
||||
void *newst = 0;
|
||||
|
||||
if(!st || !td || !struct_ptr) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->buf == 0) {
|
||||
/* Nothing to convert, make it empty. */
|
||||
*struct_ptr = (void *)0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
rval = ber_decode(0, td, (void **)&newst, st->buf, st->size);
|
||||
if(rval.code == RC_OK) {
|
||||
*struct_ptr = newst;
|
||||
return 0;
|
||||
} else {
|
||||
/* Remove possibly partially decoded data. */
|
||||
ASN_STRUCT_FREE(*td, newst);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) {
|
||||
asn_dec_rval_t rval;
|
||||
void *newst = 0;
|
||||
|
||||
if(!st || !td || !struct_ptr) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(st->buf == 0) {
|
||||
/* Nothing to convert, make it empty. */
|
||||
*struct_ptr = (void *)0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
rval = aper_decode(0, td, (void **)&newst, st->buf, st->size, 0, 0);
|
||||
if(rval.code == RC_OK) {
|
||||
*struct_ptr = newst;
|
||||
return 0;
|
||||
} else {
|
||||
/* Remove possibly partially decoded data. */
|
||||
ASN_STRUCT_FREE(*td, newst);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static int ANY__consume_bytes(const void *buffer, size_t size, void *key) {
|
||||
struct _callback_arg *arg = (struct _callback_arg *)key;
|
||||
|
||||
if((arg->offset + size) >= arg->size) {
|
||||
size_t nsize = (arg->size ? arg->size << 2 : 16) + size;
|
||||
void *p = REALLOC(arg->buffer, nsize);
|
||||
if(!p) return -1;
|
||||
arg->buffer = (uint8_t *)p;
|
||||
arg->size = nsize;
|
||||
}
|
||||
|
||||
memcpy(arg->buffer + arg->offset, buffer, size);
|
||||
arg->offset += size;
|
||||
assert(arg->offset < arg->size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef ASN_DISABLE_PER_SUPPORT
|
||||
|
||||
asn_dec_rval_t
|
||||
ANY_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
|
||||
const asn_TYPE_descriptor_t *td,
|
||||
const asn_per_constraints_t *constraints, void **sptr,
|
||||
asn_per_data_t *pd) {
|
||||
const asn_OCTET_STRING_specifics_t *specs =
|
||||
td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics
|
||||
: &asn_SPC_ANY_specs;
|
||||
size_t consumed_myself = 0;
|
||||
int repeat;
|
||||
ANY_t *st = (ANY_t *)*sptr;
|
||||
|
||||
(void)opt_codec_ctx;
|
||||
(void)constraints;
|
||||
|
||||
/*
|
||||
* Allocate the structure.
|
||||
*/
|
||||
if(!st) {
|
||||
st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size));
|
||||
if(!st) RETURN(RC_FAIL);
|
||||
}
|
||||
|
||||
ASN_DEBUG("UPER Decoding ANY type");
|
||||
|
||||
st->size = 0;
|
||||
do {
|
||||
ssize_t raw_len;
|
||||
ssize_t len_bytes;
|
||||
ssize_t len_bits;
|
||||
void *p;
|
||||
int ret;
|
||||
|
||||
/* Get the PER length */
|
||||
raw_len = uper_get_length(pd, -1, 0, &repeat);
|
||||
if(raw_len < 0) RETURN(RC_WMORE);
|
||||
if(raw_len == 0 && st->buf) break;
|
||||
|
||||
ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len,
|
||||
repeat ? "repeat" : "once", td->name);
|
||||
len_bytes = raw_len;
|
||||
len_bits = len_bytes * 8;
|
||||
|
||||
p = REALLOC(st->buf, st->size + len_bytes + 1);
|
||||
if(!p) RETURN(RC_FAIL);
|
||||
st->buf = (uint8_t *)p;
|
||||
|
||||
ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits);
|
||||
if(ret < 0) RETURN(RC_WMORE);
|
||||
consumed_myself += len_bits;
|
||||
st->size += len_bytes;
|
||||
} while(repeat);
|
||||
st->buf[st->size] = 0; /* nul-terminate */
|
||||
|
||||
RETURN(RC_OK);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ANY_encode_uper(const asn_TYPE_descriptor_t *td,
|
||||
const asn_per_constraints_t *constraints, const void *sptr,
|
||||
asn_per_outp_t *po) {
|
||||
const ANY_t *st = (const ANY_t *)sptr;
|
||||
asn_enc_rval_t er = {0, 0, 0};
|
||||
const uint8_t *buf;
|
||||
size_t size;
|
||||
int ret;
|
||||
|
||||
(void)constraints;
|
||||
|
||||
if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED;
|
||||
|
||||
buf = st->buf;
|
||||
size = st->size;
|
||||
do {
|
||||
int need_eom = 0;
|
||||
ssize_t may_save = uper_put_length(po, size, &need_eom);
|
||||
if(may_save < 0) ASN__ENCODE_FAILED;
|
||||
|
||||
ret = per_put_many_bits(po, buf, may_save * 8);
|
||||
if(ret) ASN__ENCODE_FAILED;
|
||||
|
||||
buf += may_save;
|
||||
size -= may_save;
|
||||
assert(!(may_save & 0x07) || !size);
|
||||
if(need_eom && uper_put_length(po, 0, 0))
|
||||
ASN__ENCODE_FAILED; /* End of Message length */
|
||||
} while(size);
|
||||
|
||||
ASN__ENCODED_OK(er);
|
||||
}
|
||||
|
||||
asn_dec_rval_t
|
||||
ANY_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
|
||||
const asn_TYPE_descriptor_t *td,
|
||||
const asn_per_constraints_t *constraints, void **sptr,
|
||||
asn_per_data_t *pd) {
|
||||
const asn_OCTET_STRING_specifics_t *specs =
|
||||
td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics
|
||||
: &asn_SPC_ANY_specs;
|
||||
size_t consumed_myself = 0;
|
||||
int repeat;
|
||||
ANY_t *st = (ANY_t *)*sptr;
|
||||
|
||||
(void)opt_codec_ctx;
|
||||
(void)constraints;
|
||||
|
||||
/*
|
||||
* Allocate the structure.
|
||||
*/
|
||||
if(!st) {
|
||||
st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size));
|
||||
if(!st) RETURN(RC_FAIL);
|
||||
}
|
||||
|
||||
ASN_DEBUG("APER Decoding ANY type");
|
||||
|
||||
st->size = 0;
|
||||
do {
|
||||
ssize_t raw_len;
|
||||
ssize_t len_bytes;
|
||||
ssize_t len_bits;
|
||||
void *p;
|
||||
int ret;
|
||||
|
||||
/* Get the PER length */
|
||||
raw_len = aper_get_length(pd, -1, 0, &repeat);
|
||||
if(raw_len < 0) RETURN(RC_WMORE);
|
||||
if(raw_len == 0 && st->buf) break;
|
||||
|
||||
ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len,
|
||||
repeat ? "repeat" : "once", td->name);
|
||||
len_bytes = raw_len;
|
||||
len_bits = len_bytes * 8;
|
||||
|
||||
p = REALLOC(st->buf, st->size + len_bytes + 1);
|
||||
if(!p) RETURN(RC_FAIL);
|
||||
st->buf = (uint8_t *)p;
|
||||
|
||||
ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits);
|
||||
if(ret < 0) RETURN(RC_WMORE);
|
||||
consumed_myself += len_bits;
|
||||
st->size += len_bytes;
|
||||
} while(repeat);
|
||||
st->buf[st->size] = 0; /* nul-terminate */
|
||||
|
||||
RETURN(RC_OK);
|
||||
}
|
||||
|
||||
asn_enc_rval_t
|
||||
ANY_encode_aper(const asn_TYPE_descriptor_t *td,
|
||||
const asn_per_constraints_t *constraints, const void *sptr,
|
||||
asn_per_outp_t *po) {
|
||||
const ANY_t *st = (const ANY_t *)sptr;
|
||||
asn_enc_rval_t er = {0, 0, 0};
|
||||
const uint8_t *buf;
|
||||
size_t size;
|
||||
int ret;
|
||||
|
||||
(void)constraints;
|
||||
|
||||
if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED;
|
||||
|
||||
buf = st->buf;
|
||||
size = st->size;
|
||||
do {
|
||||
int need_eom = 0;
|
||||
ssize_t may_save = uper_put_length(po, size, &need_eom);
|
||||
if(may_save < 0) ASN__ENCODE_FAILED;
|
||||
|
||||
ret = per_put_many_bits(po, buf, may_save * 8);
|
||||
if(ret) ASN__ENCODE_FAILED;
|
||||
|
||||
buf += may_save;
|
||||
size -= may_save;
|
||||
assert(!(may_save & 0x07) || !size);
|
||||
if(need_eom && uper_put_length(po, 0, 0))
|
||||
ASN__ENCODE_FAILED; /* End of Message length */
|
||||
} while(size);
|
||||
|
||||
ASN__ENCODED_OK(er);
|
||||
}
|
||||
#endif /* ASN_DISABLE_PER_SUPPORT */
|
||||
|
66
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ANY.h
vendored
Normal file
66
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/ANY.h
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#ifndef ASN_TYPE_ANY_H
|
||||
#define ASN_TYPE_ANY_H
|
||||
|
||||
#include <OCTET_STRING.h> /* Implemented via OCTET STRING type */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct ANY {
|
||||
uint8_t *buf; /* BER-encoded ANY contents */
|
||||
int size; /* Size of the above buffer */
|
||||
|
||||
asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
|
||||
} ANY_t;
|
||||
|
||||
extern asn_TYPE_descriptor_t asn_DEF_ANY;
|
||||
extern asn_TYPE_operation_t asn_OP_ANY;
|
||||
extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs;
|
||||
|
||||
asn_struct_free_f ANY_free;
|
||||
asn_struct_print_f ANY_print;
|
||||
ber_type_decoder_f ANY_decode_ber;
|
||||
der_type_encoder_f ANY_encode_der;
|
||||
xer_type_encoder_f ANY_encode_xer;
|
||||
per_type_decoder_f ANY_decode_uper;
|
||||
per_type_encoder_f ANY_encode_uper;
|
||||
per_type_decoder_f ANY_decode_aper;
|
||||
per_type_encoder_f ANY_encode_aper;
|
||||
|
||||
#define ANY_free OCTET_STRING_free
|
||||
#define ANY_print OCTET_STRING_print
|
||||
#define ANY_compare OCTET_STRING_compare
|
||||
#define ANY_constraint asn_generic_no_constraint
|
||||
#define ANY_decode_ber OCTET_STRING_decode_ber
|
||||
#define ANY_encode_der OCTET_STRING_encode_der
|
||||
#define ANY_decode_xer OCTET_STRING_decode_xer_hex
|
||||
|
||||
/******************************
|
||||
* Handy conversion routines. *
|
||||
******************************/
|
||||
|
||||
/* Convert another ASN.1 type into the ANY. This implies DER encoding. */
|
||||
int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr);
|
||||
int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr);
|
||||
ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr);
|
||||
ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr);
|
||||
|
||||
/* Convert the contents of the ANY type into the specified type. */
|
||||
int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
|
||||
int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
|
||||
|
||||
#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size))
|
||||
#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \
|
||||
&asn_DEF_ANY, (buf), (size))
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ASN_TYPE_ANY_H */
|
96
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/AS-SecurityInformation.c
vendored
Normal file
96
setup/e2mgr/E2Manager/3rdparty/asn1codec/e2ap_engine/AS-SecurityInformation.c
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
* Copyright 2019 AT&T Intellectual Property
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This source code is part of the near-RT RIC (RAN Intelligent Controller)
|
||||
* platform project (RICP).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "X2AP-IEs"
|
||||
* found in "../../asnFiles/X2AP-IEs.asn"
|
||||
* `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
|
||||
*/
|
||||
|
||||
#include "AS-SecurityInformation.h"
|
||||
|
||||
#include "ProtocolExtensionContainer.h"
|
||||
asn_TYPE_member_t asn_MBR_AS_SecurityInformation_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation, key_eNodeB_star),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_Key_eNodeB_Star,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"key-eNodeB-star"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct AS_SecurityInformation, nextHopChainingCount),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_NextHopChainingCount,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"nextHopChainingCount"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct AS_SecurityInformation, iE_Extensions),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_ProtocolExtensionContainer_170P110,
|
||||
0,
|
||||
{ 0, 0, 0 },
|
||||
0, 0, /* No default value */
|
||||
"iE-Extensions"
|
||||
},
|
||||
};
|
||||
static const int asn_MAP_AS_SecurityInformation_oms_1[] = { 2 };
|
||||
static const ber_tlv_tag_t asn_DEF_AS_SecurityInformation_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_AS_SecurityInformation_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* key-eNodeB-star */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nextHopChainingCount */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
|
||||
};
|
||||
asn_SEQUENCE_specifics_t asn_SPC_AS_SecurityInformation_specs_1 = {
|
||||
sizeof(struct AS_SecurityInformation),
|
||||
offsetof(struct AS_SecurityInformation, _asn_ctx),
|
||||
asn_MAP_AS_SecurityInformation_tag2el_1,
|
||||
3, /* Count of tags in the map */
|
||||
asn_MAP_AS_SecurityInformation_oms_1, /* Optional members */
|
||||
1, 0, /* Root/Additions */
|
||||
3, /* First extension addition */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_AS_SecurityInformation = {
|
||||
"AS-SecurityInformation",
|
||||
"AS-SecurityInformation",
|
||||
&asn_OP_SEQUENCE,
|
||||
asn_DEF_AS_SecurityInformation_tags_1,
|
||||
sizeof(asn_DEF_AS_SecurityInformation_tags_1)
|
||||
/sizeof(asn_DEF_AS_SecurityInformation_tags_1[0]), /* 1 */
|
||||
asn_DEF_AS_SecurityInformation_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_AS_SecurityInformation_tags_1)
|
||||
/sizeof(asn_DEF_AS_SecurityInformation_tags_1[0]), /* 1 */
|
||||
{ 0, 0, SEQUENCE_constraint },
|
||||
asn_MBR_AS_SecurityInformation_1,
|
||||
3, /* Elements count */
|
||||
&asn_SPC_AS_SecurityInformation_specs_1 /* Additional specs */
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user