Fix Automation and add reset tests 26/926/1
authorss412g <shuky.har-noy@intl.att.com>
Tue, 10 Sep 2019 11:30:26 +0000 (14:30 +0300)
committerss412g <shuky.har-noy@intl.att.com>
Tue, 10 Sep 2019 11:30:39 +0000 (14:30 +0300)
Change-Id: I43ac4d889a0a847322f9f6ce6e82f4cd76cb1c9e
Signed-off-by: ss412g <shuky.har-noy@intl.att.com>
17 files changed:
Automation/Tests/ConfigurationUpdate/ConfigurationUpdate_prepartations_tests.robot
Automation/Tests/LoadInfomation/Loadinformation_adding_data_and_overwrite.robot
Automation/Tests/LoadInfomation/Loadinformation_verify_saving.robot
Automation/Tests/Lost_Connection/Lost_Connetion_CONNECTING_TO_DISCONNECTED.robot [new file with mode: 0644]
Automation/Tests/Lost_Connection/__init__.robot [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC/Reset_RAN_Found.robot [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC/Reset_Ran_To_Ric_Verify_logs.py [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC/Reset_Verify_logs.robot [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC/__init__.robot [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC_2/Reset_RNIB.robot [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC_2/Reset_Ran_To_Ric_RNIB_Down_Verify_logs.py [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC_2/Reset_Verify_logs.robot [new file with mode: 0644]
Automation/Tests/Reset_RAN_TO_RIC_2/__init__.robot [new file with mode: 0644]
Automation/Tests/Reset_RIC_TO_RAN/Reset_unhappy.robot
Automation/Tests/Resource/Keywords.robot
Automation/Tests/Resource/resource.robot
Automation/Tests/X2-Setup/X2_Setup_reuqest_test.robot

index 849052d..2aec47f 100644 (file)
@@ -25,10 +25,6 @@ Library     OperatingSystem
 Library     REST      ${url}
 
 
-*** Variables ***
-${Run_Config}       docker exec gnbe2_simu pkill gnbe2_simu -INT
-${Save_e2_log}      docker logs --tail 300 gnbe2_simu > gnb.log
-${Save_e2mgr_log}   docker logs --tail 300 e2mgr > e2mgr.log
 
 *** Test Cases ***
 X2 - Setup and Get
index 3aab161..d94482a 100644 (file)
@@ -25,7 +25,7 @@ Library     Collections
 Library     Process
 Library     ${CURDIR}/loadscripts.py
 Library     REST      ${url}
-
+Suite Teardown  Stop Simulator
 
 
 *** Test Cases ***
index 0422dd1..e02b5eb 100644 (file)
@@ -25,7 +25,7 @@ Library     Collections
 Library     Process
 Library     ${CURDIR}/loadscripts.py
 Library     REST      ${url}
-
+Suite Teardown  Stop Simulator
 
 
 
diff --git a/Automation/Tests/Lost_Connection/Lost_Connetion_CONNECTING_TO_DISCONNECTED.robot b/Automation/Tests/Lost_Connection/Lost_Connetion_CONNECTING_TO_DISCONNECTED.robot
new file mode 100644 (file)
index 0000000..8415c47
--- /dev/null
@@ -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
+Library     OperatingSystem
+Library    Collections
+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]}    4
+
+
+Prepare Ran in Connecting connectionStatus
+    Sleep  1s
+    Post Request setup node b x-2
+    Integer     response status       200
+    Sleep  1s
+    GET      /v1/nodeb/test1
+    Integer  response status  200
+    String   response body ranName    test1
+    #String   response body connectionStatus    CONNECTING
+
+
+
+Verfiy Disconnected ConnectionStatus
+    Sleep    1s
+    GET      /v1/nodeb/test1
+    Integer  response status  200
+    String   response body ranName    test1
+    String   response body connectionStatus    DISCONNECTED
+    Integer   response body connectionAttempts    3
+
diff --git a/Automation/Tests/Lost_Connection/__init__.robot b/Automation/Tests/Lost_Connection/__init__.robot
new file mode 100644 (file)
index 0000000..3cb82d4
--- /dev/null
@@ -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    ORAN Lost Connection scenarios
diff --git a/Automation/Tests/Reset_RAN_TO_RIC/Reset_RAN_Found.robot b/Automation/Tests/Reset_RAN_TO_RIC/Reset_RAN_Found.robot
new file mode 100644 (file)
index 0000000..aa52bf9
--- /dev/null
@@ -0,0 +1,52 @@
+##############################################################################
+#
+#   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
+Library     OperatingSystem
+Library     Collections
+Library     REST      ${url}
+
+
+
+
+*** Test Cases ***
+
+Prepare Ran in Connected connectionStatus
+    Post Request setup node b x-2
+    Integer     response status       200
+    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
+
+Remove log files
+    Remove File  ${EXECDIR}/gnb.log
+    Remove File  ${EXECDIR}/e2mgr.log
+
+Save logs
+    Sleep   1s
+    Run     ${Save_e2_log}
+    Run     ${Save_e2mgr_log}
\ No newline at end of file
diff --git a/Automation/Tests/Reset_RAN_TO_RIC/Reset_Ran_To_Ric_Verify_logs.py b/Automation/Tests/Reset_RAN_TO_RIC/Reset_Ran_To_Ric_Verify_logs.py
new file mode 100644 (file)
index 0000000..fd03b24
--- /dev/null
@@ -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.
+#
+##############################################################################
+
+
+def verify(directory):
+
+    file = 'e2mgr.log'
+
+    path = '/'
+
+    file_path = directory + path + file
+
+    f = open(file_path,'r')
+
+    found_message_10070 = False
+    found_message_10071 = False
+
+    for l in f:
+        if l.find('MType: 10070') > 0 and l.find('Meid: \\"test1\\"') > 0:
+            found_message_10070 = True
+        elif l.find('MType: 10071') > 0 and l.find('Meid: \\"test1\\"') > 0:
+            found_message_10071 = True
+
+        if found_message_10070 and found_message_10071:
+            break
+
+    if found_message_10070 and found_message_10071:
+        return True
+    else:
+        return False
+
+
+
diff --git a/Automation/Tests/Reset_RAN_TO_RIC/Reset_Verify_logs.robot b/Automation/Tests/Reset_RAN_TO_RIC/Reset_Verify_logs.robot
new file mode 100644 (file)
index 0000000..cfecbaf
--- /dev/null
@@ -0,0 +1,35 @@
+##############################################################################
+#
+#   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 ***
+Library     String
+Library     OperatingSystem
+Library     Process
+Library     ${CURDIR}/Reset_Ran_To_Ric_Verify_logs.py
+
+
+*** Test Cases ***
+Verify logs - Reset Sent by simulator
+    ${Reset}=   Grep File  ./gnb.log  ResetRequest has been sent
+    #Log to console      ${Reset}
+    Should Be Equal     ${Reset}     gnbe2_simu: ResetRequest has been sent
+
+Verify logs - e2mgr logs
+   ${result}    Reset_Ran_To_Ric_Verify_logs.verify   ${EXECDIR}
+   Should Be Equal As Strings    ${result}      True
\ No newline at end of file
diff --git a/Automation/Tests/Reset_RAN_TO_RIC/__init__.robot b/Automation/Tests/Reset_RAN_TO_RIC/__init__.robot
new file mode 100644 (file)
index 0000000..9ff2052
--- /dev/null
@@ -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    ORAN Reset - RAN to RIC Scenario 1
diff --git a/Automation/Tests/Reset_RAN_TO_RIC_2/Reset_RNIB.robot b/Automation/Tests/Reset_RAN_TO_RIC_2/Reset_RNIB.robot
new file mode 100644 (file)
index 0000000..d0319b6
--- /dev/null
@@ -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
+Library     OperatingSystem
+Library     Collections
+Library     REST      ${url}
+
+
+
+
+
+*** Test Cases ***
+
+Prepare Ran in Connected connectionStatus
+    Post Request setup node b x-2
+    Integer     response status       200
+    Sleep  1s
+    GET      /v1/nodeb/test1
+    Integer  response status  200
+    String   response body ranName    test1
+    String   response body connectionStatus    CONNECTED
+
+Stop RNIB
+      Run   docker stop redis
+
+Run Reset from RAN
+    Run    ${Run_Config}
+    Sleep   1s
+
+Remove log files
+    Remove File  ${EXECDIR}/gnb.log
+    Remove File  ${EXECDIR}/e2mgr.log
+
+Save logs
+    Sleep   1s
+    Run     ${Save_e2_log}
+    Run     ${Save_e2mgr_log}
\ No newline at end of file
diff --git a/Automation/Tests/Reset_RAN_TO_RIC_2/Reset_Ran_To_Ric_RNIB_Down_Verify_logs.py b/Automation/Tests/Reset_RAN_TO_RIC_2/Reset_Ran_To_Ric_RNIB_Down_Verify_logs.py
new file mode 100644 (file)
index 0000000..1174480
--- /dev/null
@@ -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.
+#
+##############################################################################
+
+
+def verify(directory):
+
+    file = 'e2mgr.log'
+
+    path = '/'
+
+    file_path = directory + path + file
+
+    f = open(file_path,'r')
+
+    found_message_10070 = False
+    found_message_error = False
+
+    for l in f:
+        if l.find('MType: 10070') > 0 and l.find('Meid: \\"test1\\"') > 0:
+            found_message_10070 = True
+        elif l.find('RanName: test1') > 0 and l.find('Error:') > 0:
+            found_message_error = True
+        if found_message_10070 and found_message_error:
+            break
+
+    if found_message_10070 and found_message_error:
+        return True
+    else:
+        return False
+
+
+
diff --git a/Automation/Tests/Reset_RAN_TO_RIC_2/Reset_Verify_logs.robot b/Automation/Tests/Reset_RAN_TO_RIC_2/Reset_Verify_logs.robot
new file mode 100644 (file)
index 0000000..583d11b
--- /dev/null
@@ -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.
+#
+##############################################################################
+
+
+*** Settings ***
+Library     String
+Library     OperatingSystem
+Library     Process
+Library     ${CURDIR}/Reset_Ran_To_Ric_RNIB_Down_Verify_logs.py
+Resource   ../Resource/Keywords.robot
+
+
+
+*** Test Cases ***
+Verify logs - Reset Sent by simulator
+    ${Reset}=   Grep File  ./gnb.log  ResetRequest has been sent
+    #Log to console      ${Reset}
+    Should Be Equal     ${Reset}     gnbe2_simu: ResetRequest has been sent
+
+Verify logs - e2mgr logs
+   ${result}    Reset_Ran_To_Ric_RNIB_Down_Verify_logs.verify   ${EXECDIR}
+   log to console   ${result}
+   Should Be Equal As Strings    ${result}      True
\ No newline at end of file
diff --git a/Automation/Tests/Reset_RAN_TO_RIC_2/__init__.robot b/Automation/Tests/Reset_RAN_TO_RIC_2/__init__.robot
new file mode 100644 (file)
index 0000000..3eb15e6
--- /dev/null
@@ -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    ORAN Reset - RAN to RIC Scenario 2
index 587ded7..91fd82f 100755 (executable)
@@ -22,6 +22,7 @@ Resource   ../Resource/Keywords.robot
 Library     OperatingSystem
 Library    Collections
 Library     REST      ${url}
+Suite Teardown   Start E2
 
 *** Variables ***
 ${stop_docker_e2}      docker stop e2
index 20b4e3a..b5caaaf 100755 (executable)
@@ -23,12 +23,16 @@ Resource   ../Resource/resource.robot
 Library     OperatingSystem
 
 
+
+
+
 *** Keywords ***
 Post Request setup node b x-2
     Set Headers     ${header}
     POST        /v1/nodeb/x2-setup    ${json}
 
 
+
 Get Request node b enb test1
     Sleep    1s
     GET      /v1/nodeb/test1
@@ -38,10 +42,15 @@ Get Request node b enb test2
     Sleep    1s
     GET      /v1/nodeb/test2
 
+
+
 Post Request setup node b endc-setup
     Set Headers     ${header}
     POST        /v1/nodeb/endc-setup    ${endcjson}
 
+Stop Simulator
+    Run And Return Rc And Output    ${stop_simu}
+
 
 Prepare Simulator For Load Information
      Run And Return Rc And Output    ${stop_simu}
index 9382db5..42d7ed1 100755 (executable)
@@ -27,11 +27,10 @@ ${endcjson}    {"ranIp": "10.0.2.15","ranPort": 49999,"ranName":"test2"}
 ${resetcausejson}   {"cause": "misc:not-enough-user-plane-processing-resources"}
 ${header}  {"Content-Type": "application/json"}
 ${docker_command}  docker ps | grep 1.0 | wc --lines
-${run_simu_load}   docker run -d --name gnbe2_simu --env gNBipv4=localhost  --env gNBport=36422  --env duration=600000000000 --env indicationReportRate=1000000000 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_sim:1.0.5
+${run_simu_load}   docker run -d --name gnbe2_simu --env gNBipv4=localhost  --env gNBport=36422  --env duration=600000000000 --env indicationReportRate=1000000000 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_simu:1.0.6
 ${stop_simu}  docker stop gnbe2_simu
-${run_simu_regular}  docker run -d --name gnbe2_simu --env gNBipv4=localhost  --env gNBport=36422 --env duration=600000000000 --env indicationReportRate=0 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_sim:1.0.5
+${run_simu_regular}  docker run -d --name gnbe2_simu --env gNBipv4=localhost  --env gNBport=36422 --env duration=600000000000 --env indicationReportRate=0 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_simu:1.0.6
 ${docker_Remove}    docker rm gnbe2_simu
-${docker_cp}        docker cp ../Resource/configuration.yaml e2mgr:/opt/E2Manager/resources/configuration.yaml
 ${docker_restart}   docker restart e2mgr
 ${restart_simu}  docker restart gnbe2_simu
 ${restart_e2adapter}  docker restart e2adapter
@@ -39,6 +38,13 @@ ${start_e2}  docker start e2
 ${stop_docker_e2}      docker stop e2
 ${start_redis}   docker run -d --name redis -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
 ${redis_remove}    docker rm redis
+${restart_simu}  docker restart gnbe2_simu
+${start_e2}  docker start e2
+${stop_docker_e2}      docker stop e2
+${Run_Config}       docker exec gnbe2_simu pkill gnbe2_simu -INT
+${Save_e2_log}      docker logs gnbe2_simu > gnb.log
+${Save_e2mgr_log}   docker logs e2mgr > e2mgr.log
+
 
 
 
index 08ed01b..aa61d40 100755 (executable)
@@ -29,7 +29,7 @@ X2 - Setup Test
     Integer     response status       200
 
 X2 - Get Nodeb
-    Get Request node b enb test1
+    Get Request Node B Enb test1
     Integer  response status  200
     String   response body ranName    test1
     String   response body ip    10.0.2.15