InstantiateVNFTaskWorkflow.robot 2.67 KB
Newer Older
1
*** Setting ***
2
Suite Setup       Initialize System
3
Suite Teardown    Terminate All Processes    kill=true
4
Resource    environment/configuration.txt
5
Resource    environment/variables.txt
6
7
Resource    VnfLcmMntOperationKeywords.robot
Resource    SubscriptionKeywords.robot
8
9
10
11
12
13
14
15
16
17
18
19
Library    OperatingSystem
Library    MockServerLibrary
Library    Process
Library    BuiltIn
Library    Collections
Library    String
Library    JSONSchemaLibrary    schemas/
Library    JSONLibrary
Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}


*** Test Cases ***
20
VNF Instantiation
21
    [Documentation]    Test ID: 7.3.1.26.1
22
    ...    Test title: VNF Instantiation workflow
Giacomo Bernini's avatar
Giacomo Bernini committed
23
    ...    Test objective: The objective is to test the workflow for the instantiation of a VNF instance
aureliano sinatra's avatar
aureliano sinatra committed
24
    ...    Pre-conditions: VNF instance resources is already created. NFVO is subscribed to VNF LCM Operation Occurrence notifications 
Michele Carignani's avatar
Michele Carignani committed
25
    ...    Reference: Clause 5.4.4 - ETSI GS NFV-SOL 003 [1] v2.6.1
Giacomo Bernini's avatar
Giacomo Bernini committed
26
    ...    Config ID: Config_prod_VNFM
Giacomo Bernini's avatar
Giacomo Bernini committed
27
    ...    Applicability:  NFVO is able to receive notifications from VNFM
Giacomo Bernini's avatar
Giacomo Bernini committed
28
    ...    Post-Conditions: VNF instance in INSTANTIATED state
29
30
31
    Send VNF Instantiation Request
    Check HTTP Response Status Code Is    202
    Check HTTP Response Header Contains    Location
aureliano sinatra's avatar
aureliano sinatra committed
32
    Check Operation Occurrence Id existence
33
34
35
36
    Check Operation Notification For Instantiation  STARTING
    Check Operation Notification For Instantiation  PROCESSING
    Check Operation Notification For Instantiation  COMPLETED
    Check Postcondition VNF Status  INSTANTIATED
37
38
    
*** Keywords ***
39
40
Send VNF Instantiation Request
    Log    Instantiate a VNF Instance
41
42
43
    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
44
    ${body}=    Get File    jsons/instantiateVnfRequest.json
45
    ${response}=    Post    ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate    ${body}
46
    
47
Check Operation Notification For Instantiation
48
    [Arguments]    ${status}
49
    Check Operation Notification    VnfLcmOperationOccurrenceNotification   ${status}
Giacomo Bernini's avatar
Giacomo Bernini committed
50

51
52
53
Initialize System
    Create Sessions

54
55
Check Postcondition VNF Status
    [Arguments]    ${status}
56
57
58
    Log    Retrieve VNF Instance
    Check VNF Instance    ${vnfInstanceId}
    Should Not Be Empty    ${response}
Giacomo Bernini's avatar
fixes    
Giacomo Bernini committed
59
    Check HTTP Response Status Code Is    200
Elian Kraja's avatar
Elian Kraja committed
60
    Should Be Equal    ${response['body']['id']}    ${vnfInstanceId}    
61
    Check HTTP Response Header Contains    Content-Type
Giacomo Bernini's avatar
fixes    
Giacomo Bernini committed
62
    Check HTTP Response Body Json Schema Is    vnfInstance.schema.json
Elian Kraja's avatar
Elian Kraja committed
63
    Check VNF Status    ${response['body']['instantiationState']}    ${status}