BASIC-01, 05, 06, 07 and 09 Robot Test-Cases.
[osm/devops.git] / robot-systest / testsuite / hackfest_basic.robot
1 #   Licensed under the Apache License, Version 2.0 (the "License");
2 #   you may not use this file except in compliance with the License.
3 #   You may obtain a copy of the License at
4 #
5 #       http://www.apache.org/licenses/LICENSE-2.0
6 #
7 #   Unless required by applicable law or agreed to in writing, software
8 #   distributed under the License is distributed on an "AS IS" BASIS,
9 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 #   See the License for the specific language governing permissions and
11 #   limitations under the License.
12
13 *** Settings ***
14 Library   OperatingSystem
15 Library   String
16 Library   Collections
17 Library   Process
18 Library   SSHLibrary
19
20 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
21 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot
22 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot
23 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/connectivity_lib.robot
24 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot
25
26 Variables   %{ROBOT_DEVOPS_FOLDER}/resources/hackfest_basic_ns_data.py
27
28 Suite Teardown   Run Keyword And Ignore Error   Test Cleanup
29
30
31 *** Variables ***
32 ${ns_id}   ${EMPTY}
33 ${username}   ubuntu
34 ${password}   ${EMPTY}
35 ${vnf_member_index}   1
36 ${vnf_ip_addr}   ${EMPTY}
37 ${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
38 # ${ns_config}   ${EMPTY}
39
40 *** Test Cases ***
41 Create Hackfest Basic VNF Descriptor
42     [Tags]   hackfest_basic
43
44     Create VNFD   '%{PACKAGES_FOLDER}/${vnfd_pkg}'
45
46
47 Create Hackfest Basic NS Descriptor
48     [Tags]   hackfest_basic
49
50     Create NSD   '%{PACKAGES_FOLDER}/${nsd_pkg}'
51
52 Network Service Instance Test
53     [Tags]   hackfest_basic
54
55     ${id}=   Create Network Service   ${nsd_name}   %{VIM_TARGET}   ${ns_name}   ${ns_config}   ${publickey}
56     Set Suite Variable   ${ns_id}   ${id}
57
58
59 Get Vnf Ip Address
60     [Tags]   hackfest_basic
61
62     ${ip_addr}  Get Vnf Management Ip Address   ${ns_id}   ${vnf_member_index}
63     log   ${ip_addr}
64     Set Suite Variable   ${vnf_ip_addr}   ${ip_addr}
65
66 Test Ping
67     [Tags]   hackfest_basic
68     Test Connectivity  ${vnf_ip_addr}
69
70 Test SSH Access
71     [Tags]   hackfest_basic
72     Sleep   30s   Waiting ssh daemon to be up
73     Test SSH Connection  ${vnf_ip_addr}  ${username}  ${password}  ${privatekey} 
74
75 Delete NS Instance Test
76     [Tags]   hackfest_basic   cleanup
77
78     Delete NS   ${ns_name}
79
80
81 Delete NS Descriptor Test
82     [Tags]   hackfest_basic   cleanup
83
84     Delete NSD   ${nsd_name}
85
86
87 Delete VNF Descriptor Test
88     [Tags]   hackfest_basic   cleanup
89
90     Delete VNFD   ${vnfd_name}
91
92
93 *** Keywords ***
94 Test Cleanup
95     [Documentation]  Test Suit Cleanup: Deleting Descriptor, instance and vim
96
97     Run Keyword If Test Failed  Delete NS   ${ns_name}
98
99     Run Keyword If Test Failed  Delete NSD   ${nsd_name}
100
101     Run Keyword If Test Failed  Delete VNFD   ${vnfd_name}
102
103