...Test title: Performance Information Availability Notification
...Test objective: The objective is to test the dispatch of Performance Information Availability Notification when new performance information is available in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system.
...Pre-conditions: A performance job is created, and a subscription for information availability notifications is available in the NFV-MANO.
...Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Trigger the availability of Performance Information (external action)
Check Performance Information Available Notification Http POST Request Body Json Schema IsPerformanceInformationAvailableNotification
Check Performance Information Available Notification Http POST Request Body notificationType attribute IsPerformanceInformationAvailableNotification
Threshold Crossed Notification
[Documentation]Test ID: 8.3.2.8.2
...Test title: Threshold Crossed Notification
...Test objective: The objective is to test the dispatch of Threshold Crossed Notification when a previously set performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system.
...Pre-conditions: A performance job is created, and a threshold subscription is available in the NFV-MANO.
...Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1
...Config ID: Config_prod_NFV-MANO
...Applicability: none
...Post-Conditions: none
Trigger the cross of Performance Threshold (external action)
Check Threshold Crossed Notification Http POST Request Body Json Schema IsThresholdCrossedNotification
Check Threshold Crossed Notification Http POST Request Body notificationType attribute IsThresholdCrossedNotification
*** Keywords ***
Trigger the availability of Performance Information (external action)
#do nothing
Logdo nothing
Trigger the cross of Performance Threshold (external action)
#do nothing
Logdo nothing
Check Performance Information Available Notification Http POST Request Body Json Schema Is
"description":"This notification informs the receiver that performance information is available. The timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition. The notification shall be triggered by the VNFM when new performance information collected by a PM job is available.\n",
"type":"object",
"required":[
"id",
"notificationType",
"subscriptionId",
"timeStamp",
"objectInstanceId",
"_links"
],
"properties":{
"id":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"notificationType":{
"description":"Discriminator for the different notification types. Shall be set to \"PerformanceInformationAvailableNotification\" for this notification type.\n",
"type":"string",
"enum":[
"PerformanceInformationAvailableNotification"
]
},
"subscriptionId":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"timeStamp":{
"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
"type":"string",
"format":"date-time"
},
"objectInstanceId":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"_links":{
"description":"Links to resources related to this notification.\n",
"type":"object",
"required":[
"subscription",
"pmJob",
"performanceReport"
],
"properties":{
"subscription":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",
"type":"string",
"format":"url"
}
}
},
"objectInstance":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",
"type":"string",
"format":"url"
}
}
},
"pmJob":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",
"type":"string",
"format":"url"
}
}
},
"performanceReport":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",
"description":"This type represents a notification that is sent when a threshold has been crossed. The notification shall be triggered by the VNFM when a threshold has been crossed.\n",
"type":"object",
"required":[
"id",
"notificationType",
"subscriptionId",
"timeStamp",
"thresholdId",
"crossingDirection",
"objectInstanceId",
"performanceMetric",
"performanceValue",
"_links"
],
"properties":{
"id":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"notificationType":{
"description":"Discriminator for the different notification types. Shall be set to \"ThresholdCrossedNotification\" for this notification type.\n",
"type":"string",
"enum":[
"ThresholdCrossedNotification"
]
},
"subscriptionId":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"timeStamp":{
"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
"type":"string",
"format":"date-time"
},
"thresholdId":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"crossingDirection":{
"type":"string",
"enum":[
"UP",
"DOWN"
]
},
"objectInstanceId":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"performanceMetric":{
"description":"Performance metric associated with the threshold.\n",
"type":"string"
},
"performanceValue":{
"description":"Value of the metric that resulted in threshold crossing. The type of the \"performanceValue\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is assumed to be defined in the external measurement specification (see ETSI GS NFV-IFA 027).\n",
"type":"object"
},
"_links":{
"description":"Links to resources related to this notification.\n",
"type":"object",
"required":[
"subscription",
"threshold"
],
"properties":{
"subscription":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",
"type":"string",
"format":"url"
}
}
},
"objectInstance":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",
"type":"string",
"format":"url"
}
}
},
"threshold":{
"description":"This type represents a link to a resource.\n",
"type":"object",
"required":[
"href"
],
"properties":{
"href":{
"description":"URI of the referenced resource.\n",