3 Library RequestsLibrary
4 Library OperatingSystem
9 ${VNF_PACKAGE_ID}= 73522444-e8e9-49c1-be29-d355800aa349
10 ${PACKAGE_MANAGEMENT_BASE_URL}= /so/vnfm-adapter/v1/vnfpkgm/v1
11 ${BASIC_AUTH}= Basic dm5mbTpwYXNzd29yZDEk
12 ${TEST_DIR}= CSIT_ETSI_TEMP
16 Create Session so_vnfm_adapter_session http://${REPO_IP}:9092
17 &{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/json
18 Log To Console \nGetting VNF Packages from so-vnfm-adapter
19 ${response}= Get On Session so_vnfm_adapter_session ${PACKAGE_MANAGEMENT_BASE_URL}/vnf_packages headers=${headers}
20 Log To Console \nResponse:${response}
21 Run Keyword If '${response.status_code}' == '200' Log To Console \nexecuted with expected result
22 Should Be Equal As Strings '${response.status_code}' '200'
23 Log To Console \nResponse Content:\n${response.content}
24 ${json_response} Evaluate json.loads(r"""${response.content}""", strict=False) json
25 ${vnf_package_id}= Set Variable ${json_response}[0][id]
26 Should Be Equal As Strings '${vnf_package_id}' '${VNF_PACKAGE_ID}'
27 ${expected}= Get File ${CURDIR}${/}data${/}responses${/}expectedVnfPackage.json
28 ${expected}= Evaluate json.loads(r"""${expected}""", strict=False) json
29 Should Be Equal ${json_response[0]} ${expected}
30 Log To Console \nexecuted with expected result
32 Get VNF Package By VNF Package Id
33 Create Session so_vnfm_adapter_session http://${REPO_IP}:9092
34 &{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/json
35 Log To Console \nGetting VNF Package with id ${VNF_PACKAGE_ID} from so-vnfm-adapter
36 ${response}= Get On Session so_vnfm_adapter_session ${PACKAGE_MANAGEMENT_BASE_URL}/vnf_packages/${VNF_PACKAGE_ID} headers=${headers}
37 Log To Console \nResponse:${response}
38 Run Keyword If '${response.status_code}' == '200' Log To Console \nexecuted with expected result
39 Should Be Equal As Strings '${response.status_code}' '200'
40 Log To Console \nResponse:\n${response.content}
41 ${json_response} Evaluate json.loads(r"""${response.content}""", strict=False) json
42 ${vnf_package_id}= Set Variable ${json_response}[id]
43 Should Be Equal As Strings '${vnf_package_id}' '${VNF_PACKAGE_ID}'
44 ${expected}= Get File ${CURDIR}${/}data${/}responses${/}expectedVnfPackage.json
45 ${expected}= Evaluate json.loads(r"""${expected}""", strict=False) json
46 Should Be Equal ${json_response} ${expected}
47 Log To Console \nexecuted with expected result
49 Get VNF Package Content
50 Create Session so_vnfm_adapter_session http://${REPO_IP}:9092
51 &{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/zip
52 Log to Console \nGetting Vnf Package Content from Vnf Package with id ${vnf_package_id} from so-vnfm-adapter
53 ${response}= Get On Session so_vnfm_adapter_session ${PACKAGE_MANAGEMENT_BASE_URL}/vnf_packages/${vnf_package_id}/package_content headers=${headers}
54 Log To Console Response:${response}
55 Run Keyword If '${response.status_code}' == '200' Log To Console \nexecuted with expected result
56 Should Be Equal As Strings '${response.status_code}' '200'
57 Create Directory ${TEMPDIR}${/}${TEST_DIR}
58 Empty Directory ${TEMPDIR}${/}${TEST_DIR}
59 Create Binary File ${TEMPDIR}${/}${TEST_DIR}${/}actualVnfPackageContent.csar ${response.content}
60 Should Be Equal File Size ${TEMPDIR}${/}${TEST_DIR}${/}actualVnfPackageContent.csar ${CURDIR}${/}data${/}responses${/}expectedVnfPackageContent.csar
61 Extract Zip File ${TEMPDIR}${/}${TEST_DIR}${/}actualVnfPackageContent.csar ${TEMPDIR}${/}${TEST_DIR}/actualContent
62 Extract Zip File ${CURDIR}${/}data${/}responses${/}expectedVnfPackageContent.csar ${TEMPDIR}${/}${TEST_DIR}${/}expectedContent
63 Should Contain Same Content ${TEMPDIR}${/}${TEST_DIR}${/}actualContent ${TEMPDIR}${/}${TEST_DIR}${/}expectedContent
64 File Should Exist ${TEMPDIR}${/}${TEST_DIR}${/}actualContent${/}Definitions${/}MainServiceTemplate.yaml
65 File Should Exist ${TEMPDIR}${/}${TEST_DIR}${/}actualContent${/}Definitions${/}onap_dm.yaml
66 File Should Exist ${TEMPDIR}${/}${TEST_DIR}${/}actualContent${/}TOSCA-Metadata${/}TOSCA.meta
67 ${expectedMainServiceTemplate}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}expectedContent${/}Definitions${/}MainServiceTemplate.yaml
68 ${actualMainServiceTemplate}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}actualContent${/}Definitions${/}MainServiceTemplate.yaml
69 Should Be Equal As Strings ${expectedMainServiceTemplate} ${actualMainServiceTemplate}
70 ${expectedOnapDm}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}expectedContent${/}Definitions${/}onap_dm.yaml
71 ${actualOnapDm}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}actualContent${/}Definitions${/}onap_dm.yaml
72 Should Be Equal As Strings ${expectedOnapDm} ${actualOnapDm}
73 ${expectedToscaMeta}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}expectedContent${/}TOSCA-Metadata${/}TOSCA.meta
74 ${actualToscaMeta}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}actualContent${/}TOSCA-Metadata${/}TOSCA.meta
75 Should Be Equal As Strings ${expectedOnapDm} ${actualOnapDm}
76 Remove Directory ${TEMPDIR}${/}${TEST_DIR} recursive=True
77 Log To Console \nexecuted with expected result
80 Create Session so_vnfm_adapter_session http://${REPO_IP}:9092
81 &{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/zip
82 Log to Console \nGetting Vnfd from Vnf Package with id ${vnf_package_id} from so-vnfm-adapter
83 ${response}= Get On Session so_vnfm_adapter_session ${PACKAGE_MANAGEMENT_BASE_URL}/vnf_packages/${vnf_package_id}/vnfd headers=${headers}
84 Log To Console Response:${response}
85 Run Keyword If '${response.status_code}' == '200' Log To Console \nexecuted with expected result
86 Should Be Equal As Strings '${response.status_code}' '200'
87 Create Directory ${TEMPDIR}${/}${TEST_DIR}
88 Empty Directory ${TEMPDIR}${/}${TEST_DIR}
89 Create Binary File ${TEMPDIR}${/}${TEST_DIR}${/}actualVnfd.zip ${response.content}
90 Extract Zip File ${TEMPDIR}${/}${TEST_DIR}${/}actualVnfd.zip ${TEMPDIR}${/}${TEST_DIR}
91 File Should Exist ${TEMPDIR}${/}${TEST_DIR}${/}MainServiceTemplate.yaml
92 File Should Exist ${TEMPDIR}${/}${TEST_DIR}${/}onap_dm.yaml
93 ${expectedMainServiceTemplate}= Get Binary File ${CURDIR}${/}data${/}responses${/}expectedVnfd${/}MainServiceTemplate.yaml
94 ${actualMainServiceTemplate}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}MainServiceTemplate.yaml
95 Should Be Equal As Strings ${expectedMainServiceTemplate} ${actualMainServiceTemplate}
96 ${expectedOnapDm}= Get Binary File ${CURDIR}${/}data${/}responses${/}expectedVnfd${/}onap_dm.yaml
97 ${actualOnapDm}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}onap_dm.yaml
98 Should Be Equal As Strings ${expectedOnapDm} ${actualOnapDm}
99 Remove Directory ${TEMPDIR}${/}${TEST_DIR} recursive=True
100 Log To Console \nexecuted with expected result
102 Get A VNF Package Artifact
103 ${artifactPath}= Convert To String image
104 Create Session so_vnfm_adapter_session http://${REPO_IP}:9092
105 &{headers}= Create Dictionary Authorization=${BASIC_AUTH} Content-Type=application/json Accept=application/octet-stream
106 Log to Console \nGetting ${artifactPath} artifact from Vnf Package with id ${vnf_package_id} from so-vnfm-adapter
107 ${response}= Get On Session so_vnfm_adapter_session ${PACKAGE_MANAGEMENT_BASE_URL}/vnf_packages/${vnf_package_id}/artifacts/${artifactPath} headers=${headers}
108 Log To Console Response:${response}
109 Run Keyword If '${response.status_code}' == '200' Log To Console \nexecuted with expected result
110 Should Be Equal As Strings '${response.status_code}' '200'
111 Create Directory ${TEMPDIR}${/}${TEST_DIR}
112 Empty Directory ${TEMPDIR}${/}${TEST_DIR}
113 Create Binary File ${TEMPDIR}${/}${TEST_DIR}${/}${artifactPath} ${response.content}
114 ${expectedArtifact}= Get Binary File ${CURDIR}${/}data${/}responses${/}expectedArtifacts${/}${artifactPath}
115 ${actualArtifact}= Get Binary File ${TEMPDIR}${/}${TEST_DIR}${/}${artifactPath}
116 Should Be Equal As Strings ${expectedArtifact} ${actualArtifact}
117 Remove Directory ${TEMPDIR}${/}${TEST_DIR} recursive=True
118 Log To Console \nexecuted with expected result
121 Should Be Equal File Size
122 [Arguments] ${file1} ${file2}
123 Log To Console \nComparing file sizes between ${file1} and ${file2}
124 ${file1size}= Get File Size ${file1}
125 ${file2size}= Get File Size ${file2}
126 Should Be Equal ${file1size} ${file2size}
127 Log To Console Files are the same size
129 Should Contain Same Content
130 [Arguments] ${dir1} ${dir2}
131 Log To Console \nComparing directory contents between:
132 Log To Console Directory 1: ${dir1}
133 Log To Console Directory 2: ${dir2}
134 @{dir1files}= List Files In Directory ${dir1}
135 Log To Console Files in directory 1: @{dir1files}
136 @{dir2files}= List Files In Directory ${dir2}
137 Log To Console Files in directory 2: @{dir2files}
138 Lists Should Be Equal ${dir1files} ${dir2files}
139 FOR ${file} IN @{dir1files}
140 Should Be Equal File Size ${dir1}${/}${file} ${dir2}${/}${file}
142 @{dir1directories}= List Directories In Directory ${dir1}
143 Log To Console Directories in directory 1: ${dir1directories}
144 @{dir2directories}= List Directories In Directory ${dir2}
145 Log To Console Directories in directory 2: ${dir2directories}
146 Lists Should Be Equal ${dir1directories} ${dir2directories}
147 FOR ${directory} IN @{dir1directories}
148 Should Contain Same Content ${dir1}${/}${directory} ${dir2}${/}${directory}
150 Log To Console executed with expected result