IndividualVNFInstance.robot 6.39 KB
Newer Older
1
*** Settings ***
2
Resource    environment/configuration.txt
aureliano sinatra's avatar
aureliano sinatra committed
3
# Suite setup     Expect spec    SOL003-VNFLifecycleManagement-API.yaml
4
Resource    environment/variables.txt 
aureliano sinatra's avatar
aureliano sinatra committed
5
6
Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}  
Resource    VnfLcmMntOperationKeywords.robot
mengxuan.zhao's avatar
mengxuan.zhao committed
7
Library    OperatingSystem
8
9
10
Library    DependencyLibrary
Library    JSONLibrary
Library    JSONSchemaLibrary    schemas/
mengxuan.zhao's avatar
mengxuan.zhao committed
11

12
*** Variables ***
13
${original_etag}    1234
14
15
16

*** Test Cases ***
Post Individual VNFInstance - Method not implemented
aureliano sinatra's avatar
aureliano sinatra committed
17
18
19
20
    [Documentation]    Test ID: 7.3.1.2.1
    ...    Test title: Post Individual VNFInstance - Method not implemented
    ...    Test objective: The objective is to test that POST method is not implemented
    ...    Pre-conditions: none
21
    ...    Reference: clause 5.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
22
23
24
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: 
aureliano sinatra's avatar
aureliano sinatra committed
25
    POST individual vnfInstance
aureliano sinatra's avatar
aureliano sinatra committed
26
	Check HTTP Response Status Code Is    405
27
28

Get Information about an individual VNF Instance
aureliano sinatra's avatar
aureliano sinatra committed
29
30
31
32
     [Documentation]    Test ID: 7.3.1.2.2
    ...    Test title: Get Information about an individual VNF Instance
    ...    Test objective: The objective is to create a new VNF instance resource
    ...    Pre-conditions: none
33
    ...    Reference: clause 5.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
34
35
36
37
38
39
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: 
    GET individual vnfInstance
    Check HTTP Response Status Code Is    200
    Check HTTP Response Body Json Schema Is    vnfInstance
40
    
mengxuan.zhao's avatar
mengxuan.zhao committed
41
PUT Individual VNFInstance - Method not implemented 
aureliano sinatra's avatar
aureliano sinatra committed
42
43
44
45
    [Documentation]    Test ID: 7.3.1.2.3
    ...    Test title: PUT Individual VNFInstance - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
46
    ...    Reference: clause 5.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
47
48
49
50
51
52
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
    ...    Post-Conditions: 
    PUT individual vnfInstance
    Check HTTP Response Status Code Is    405
    
53
PATCH Individual VNFInstance
aureliano sinatra's avatar
aureliano sinatra committed
54
55
56
     [Documentation]    Test ID: 7.3.1.2.4
    ...    Test title: PATCH Individual VNFInstance
    ...    Test objective: This method modifies an individual VNF instance resource
aureliano sinatra's avatar
aureliano sinatra committed
57
    ...    Pre-conditions: an existing VNF instance resource
58
    ...    Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
59
60
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
aureliano sinatra's avatar
aureliano sinatra committed
61
    ...    Post-Conditions: VNFInstance modified
aureliano sinatra's avatar
aureliano sinatra committed
62
63
    PATCH individual vnfInstance
    Check HTTP Response Status Code Is    202
aureliano sinatra's avatar
aureliano sinatra committed
64
    Check Operation Occurrence Id existence
65

66
PATCH Individual VNFInstance Precondition failed
aureliano sinatra's avatar
aureliano sinatra committed
67
68
     [Documentation]    Test ID: 7.3.1.2.5
    ...    Test title: PATCH Individual VNFInstance Precondition failed
root's avatar
root committed
69
    ...    Test objective: The objective is to create a new VNF instance resource
root's avatar
root committed
70
    ...    Pre-conditions:  VNF Instance is already created (Test ID 7.3.1.2.2)
71
    ...    Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
72
73
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
aureliano sinatra's avatar
aureliano sinatra committed
74
    ...    Post-Conditions: VNFInstance not modified
aureliano sinatra's avatar
aureliano sinatra committed
75
76
77
    PATCH individual vnfInstance
    Check HTTP Response Status Code Is    412
    Check HTTP Response Body Json Schema Is    ProblemDetails
78

79
PATCH Individual VNFInstance Conflict
aureliano sinatra's avatar
aureliano sinatra committed
80
     [Documentation]    Test ID: 7.3.1.2.6
aureliano sinatra's avatar
aureliano sinatra committed
81
    ...    Test title: PATCH Individual VNFInstance Conflict
root's avatar
root committed
82
    ...    Test objective: The objective is to test the conflict while modifying a VNF instance resource
aureliano sinatra's avatar
aureliano sinatra committed
83
    ...    Pre-conditions: another LCM operation is ongoing
84
    ...    Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
85
86
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
aureliano sinatra's avatar
aureliano sinatra committed
87
    ...    Post-Conditions: VNFInstance not modified
aureliano sinatra's avatar
aureliano sinatra committed
88
89
90
    PATCH individual vnfInstance
    Check HTTP Response Status Code Is    409
    Check HTTP Response Body Json Schema Is    ProblemDetails
91
92

DELETE Individual VNFInstance
aureliano sinatra's avatar
aureliano sinatra committed
93
94
95
     [Documentation]    Test ID: 7.3.1.2.7
    ...    Test title: DELETE Individual VNFInstance
    ...    Test objective: The objective is to delete a VNF instance
aureliano sinatra's avatar
aureliano sinatra committed
96
    ...    Pre-conditions: the VNF instance resource is existing
97
    ...    Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
98
99
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
aureliano sinatra's avatar
aureliano sinatra committed
100
    ...    Post-Conditions: VNFInstance deleted
aureliano sinatra's avatar
aureliano sinatra committed
101
102
    DELETE individual vnfInstance
    Check HTTP Response Status Code Is    204
103
104

DELETE Individual VNFInstance Conflict
aureliano sinatra's avatar
aureliano sinatra committed
105
     [Documentation]    Test ID: 7.3.1.2.8
106
107
    ...    Test title: DELETE Individual VNFInstance Conflict
    ...    Test objective: The objective is to verify that the deletion cannot be executed currently, due to a conflict with the state of the VNF instance resource. 
aureliano sinatra's avatar
aureliano sinatra committed
108
    ...    Pre-conditions: VNF instance resource is in INSTANTIATED state
109
    ...    Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1
aureliano sinatra's avatar
aureliano sinatra committed
110
111
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: 
root's avatar
root committed
112
    ...    Post-Conditions: Resources are not deleted
aureliano sinatra's avatar
aureliano sinatra committed
113
114
115
    DELETE individual vnfInstance
    Check HTTP Response Status Code Is    409
    Check HTTP Response Body Json Schema Is    ProblemDetails
root's avatar
root committed
116
    Check resource existence
117
    
Elian Kraja's avatar
Elian Kraja committed
118
*** Keywords ***
119
Check resource existence
mengxuan.zhao's avatar
mengxuan.zhao committed
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
    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 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    INSTANTIATED

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
137
    ${body}=    Get File    jsons/scaleVnfToLevelRequest.json
mengxuan.zhao's avatar
mengxuan.zhao committed
138
    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level    ${body}
mengxuan.zhao's avatar
mengxuan.zhao committed
139
    Integer    response status    202
aureliano sinatra's avatar
aureliano sinatra committed
140
141
142
SET etag
    ${etag}    Output    response headers ETag
    Set Suite Variable    ${original_etag}    ${etag}