OperateVNFTask.robot 5.8 KB
Newer Older
mengxuan.zhao's avatar
mengxuan.zhao committed
1
*** Settings ***
2
Resource    environment/configuration.txt
3
Resource    environment/variables.txt 
4
Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} 
mengxuan.zhao's avatar
mengxuan.zhao committed
5
Library     OperatingSystem
6
7
Library    JSONLibrary
Library    JSONSchemaLibrary    schemas/
8
9
Resource    VnfLcmMntOperationKeywords.robot

Elian Kraja's avatar
Elian Kraja committed
10
Suite Setup    Check resource existance
mengxuan.zhao's avatar
mengxuan.zhao committed
11
12

*** Test Cases ***
aureliano sinatra's avatar
aureliano sinatra committed
13
14
15
16
17
18
19
20
21
22
23
24
POST Operate a vnfInstance
    [Documentation]    Test ID: 7.3.1.9.1
    ...    Test title: POST Operate a vnfInstance
    ...    Test objective: The objective is to test that POST method operate a VNF instance
    ...    Pre-conditions: none
    ...    Reference:  section 5.4.10.3.1 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: 
    POST Operate VNF
    Check HTTP Response Status Code Is    202
    Check Operation Occurrence Id
mengxuan.zhao's avatar
mengxuan.zhao committed
25

aureliano sinatra's avatar
aureliano sinatra committed
26
POST Operate a vnfInstance Conflict (Not-Instantiated)
mengxuan.zhao's avatar
mengxuan.zhao committed
27
    # TODO: Need to set the pre-condition of the test. VNF instance shall be in INSTANTIATED state
aureliano sinatra's avatar
aureliano sinatra committed
28
29
30
31
32
33
34
35
36
37
38
    [Documentation]    Test ID: 7.3.1.9.2
    ...    Test title: POST Operate a vnfInstance
    ...    Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. 
    ...    Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state
    ...    Reference:  section 5.4.10.3.1 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:
    POST Operate VNF
    Check HTTP Response Status Code Is    409
    Check HTTP Response Body Json Schema Is    ProblemDetails 
39

mengxuan.zhao's avatar
mengxuan.zhao committed
40
    
aureliano sinatra's avatar
aureliano sinatra committed
41
POST Operate a vnfInstance Not Found
mengxuan.zhao's avatar
mengxuan.zhao committed
42
    # TODO: Need to create a vnfInstance which's instantiatedVnfInfo.scaleStatus is absent
aureliano sinatra's avatar
aureliano sinatra committed
43
44
45
46
47
48
49
50
51
52
53
    [Documentation]    Test ID: 7.3.1.9.3
    ...    Test title: POST Operate a vnfInstance
    ...    Test objective: The objective is to test that the operation cannot be executed currently, because the resource is not existing
    ...    Pre-conditions: the VNF instance resource is in  not existing
    ...    Reference:  section 5.4.10.3.1 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:
    POST Operate VNF
    Check HTTP Response Status Code Is    409
    Check HTTP Response Body Json Schema Is    ProblemDetails
mengxuan.zhao's avatar
mengxuan.zhao committed
54
55
   
GET Operate VNFInstance - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
56
57
58
59
60
61
62
63
64
65
    [Documentation]    Test ID: 7.3.1.9.4
    ...    Test title: GET Operate a vnfInstance - Method not implemented
    ...    Test objective: The objective is to verify that the method is not implemented 
    ...    Pre-conditions: none
    ...    Reference:  section 5.4.10.3.2 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:
    GET Operate VNF
    Check HTTP Response Status Code Is    405
mengxuan.zhao's avatar
mengxuan.zhao committed
66
67

PUT Operate VNFInstance - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
68
69
70
71
72
73
74
75
76
77
    [Documentation]    Test ID: 7.3.1.9.5
    ...    Test title: PUT Operate a vnfInstance - Method not implemented
    ...    Test objective: The objective is to verify that the method is not implemented 
    ...    Pre-conditions: none
    ...    Reference:  section 5.4.10.3.3 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:
    PUT Operate VNF
    Check HTTP Response Status Code Is    405
mengxuan.zhao's avatar
mengxuan.zhao committed
78
79

PATCH Operate VNFInstance - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
80
81
82
83
84
85
86
87
88
89
    [Documentation]    Test ID: 7.3.1.9.6
    ...    Test title: PATCH Operate a vnfInstance - Method not implemented
    ...    Test objective: The objective is to verify that the method is not implemented 
    ...    Pre-conditions: none
    ...    Reference:  section 5.4.10.3.4 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:
    PATCH Operate VNF
    Check HTTP Response Status Code Is    405
mengxuan.zhao's avatar
mengxuan.zhao committed
90
91
    
DELETE Operate VNFInstance - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
92
93
94
95
96
97
98
99
100
101
    [Documentation]    Test ID: 7.3.1.9.4
    ...    Test title: DELETE Operate a vnfInstance - Method not implemented
    ...    Test objective: The objective is to verify that the method is not implemented 
    ...    Pre-conditions: none
    ...    Reference:  section 5.4.10.3.2 - SOL003 v2.4.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:
    DELETE Operate VNF
    Check HTTP Response Status Code Is    405
mengxuan.zhao's avatar
mengxuan.zhao committed
102

103
*** Keywords ***
mengxuan.zhao's avatar
mengxuan.zhao committed
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Check resource existance
    Set Headers    {"Accept":"${ACCEPT}"}  
    Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} 
    Integer    response status    200

Check resource not instantiated
    Set Headers    {"Accept":"${ACCEPT}"}  
    Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} 
    String    response body instantiationState    NOT_INSTANTIATED

Check operate not supported
    Set Headers    {"Accept":"${ACCEPT}"}  
    Set Headers    {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
    Get    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} 
    # how to check if operate is not supported? "flavourId" doesn't exist?

Launch another LCM operation
    Set Headers  {"Accept":"${ACCEPT}"}  
    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
Elian Kraja's avatar
Elian Kraja committed
129
    ${body}=    Get File    jsons/scaleVnfRequest.json
mengxuan.zhao's avatar
mengxuan.zhao committed
130
    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale    ${body}
mengxuan.zhao's avatar
mengxuan.zhao committed
131
    Integer    response status    202