10 Bulk Data Collection Test Cases
10.1 Use BulkData collection using HTTP and JSON
Purpose
The purpose of this test is to verify that EUT supports JSON BulkData collection over HTTP.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols, “JSON” ∈ Device.BulkData.EncodingTypes)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTP endpoint that is accessible by the EUT is configured to support receiving JSON BulkData transfers.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: 'JSON' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTP endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the BulkData transfer is JSON and is well formed (parsable).
- The BulkData transfer contains the one parameter configured in step 4 and the name of the parameter matches the expected name ‘UpTime’.
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are encoded as URI parameters in the request.
10.2 Use BulkData collection using HTTPS and JSON
Purpose
The purpose of this test is to verify that EUT supports JSON BulkData collection over HTTPS.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols, “JSON” ∈ Device.BulkData.EncodingTypes)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTPS endpoint that is accessible by the EUT is configured to support receiving JSON BulkData transfers.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: 'JSON' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTPS endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the BulkData transfer is JSON and is well formed (parsable).
- The BulkData transfer contains the one parameter configured in step 4 and the name of the parameter matches the expected name ‘UpTime’.
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are encoded as URI parameters in the request.
10.3 Use BulkData collection using HTTP and CSV
Purpose
The purpose of this test is to verify that EUT supports CSV BulkData collection over HTTP.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols, “CSV” ∈ Device.BulkData.EncodingTypes)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTP endpoint that is accessible by the EUT is configured to support receiving CSV BulkData transfers.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: 'CSV' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTP endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the BulkData transfer is CSV and is well formed (parsable).
- The BulkData transfer contains the one parameter configured in step 4 and the name of the parameter matches the expected name ‘UpTime’.
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are encoded as URI parameters in the request.
10.4 Use BulkData collection using HTTPS and CSV
Purpose
The purpose of this test is to verify that EUT supports CSV BulkData collection over HTTPS.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols, “CSV” ∈ Device.BulkData.EncodingTypes)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTPS endpoint that is accessible by the EUT is configured to support receiving CSV BulkData transfers.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: 'CSV' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTPS endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the BulkData transfer is CSV and is well formed (parsable).
- The BulkData transfer contains the one parameter configured in step 4 and the name of the parameter matches the expected name ‘UpTime’.
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are encoded as URI parameters in the request.
10.5 Use BulkData collection using HTTP with URI Parameters
Purpose
The purpose of this test is to verify that EUT supports BulkData collection over HTTP with extra URI parameters
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTP endpoint that is accessible by the EUT is configured.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: '<Supported Encoding type>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.HTTP.RequestURIParameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.LocalAgent.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTP endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The EUT includes the EUT UpTime encoded into the URI using the name ‘UpTime’
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are also encoded as URI parameters in the request.
10.6 Use BulkData collection using HTTPS with URI Parameters
Purpose
The purpose of this test is to verify that EUT supports BulkData collection over HTTPS with extra URI parameters
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTPS endpoint that is accessible by the EUT is configured.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: '<Supported Encoding type>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of https endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.HTTP.RequestURIParameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.LocalAgent.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTPS endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The EUT includes the EUT UpTime encoded into the URI using the name ‘UpTime’
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are also encoded as URI parameters in the request.
10.7 BulkData collection retry mechanism over HTTP
Purpose
The purpose of this test is to verify that EUT supports BulkData collection retry mechanism.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTP endpoint that is accessible by the EUT is configured.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: '<Supported Encoding type>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } param_settings { param: 'HTTP.RetryEnable' value: 'true' } param_settings { param: 'HTTP.RetryMinimumWaitInterval' value: '5' } param_settings { param: 'HTTP.RetryIntervalMultiplier' value: '2000' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Disable the HTTP BulkData collection endpoint.
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Allow the EUT to attempt to send a BulkData transfer.
Wait for 13 seconds for the EUT to retry the BulkData transfer.
Wait for 23 seconds for the EUT to retry the BulkData transfer.
Enable the HTTP BulkData collection endpoint
Wait for 43 seconds for the EUT to retry the BulkData transfer.
Wait for the EUT to send a BulkData transfer
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTP endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - The EUT retries sending the BulkData transfer 3 times with each time occurring within the expected retry interval.
- The EUT does not attempt to retry the BulkData transfer after receiving a positive response in step 9.
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are encoded as URI parameters in each request.
10.8 Use BulkData collection using HTTP with wildcard parameter
Purpose
The purpose of this test is to verify that EUT supports BulkData collection over HTTP with a wildcarded parameter
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTP endpoint that is accessible by the EUT is configured.
- Ensure there are at least 2 BootParameters configured for the test controller.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: '<Supported Encoding type>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'Enabled' } param_settings { param: 'Reference' value: 'Device.LocalAgent.Controller.*.BootParameter.*.Enable' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTP endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - Ensure at least two “Enable” are in the BulkData transfer with the
parameter names matching the following expression:
Enabled\.[1-9][0-9]*\.[1-9][0-9]*
- Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are also encoded as URI parameters in the request.
10.9 Use BulkData collection using HTTP with Object Path
Purpose
The purpose of this test is to verify that EUT supports BulkData collection over HTTP with an Object Path
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “HTTP” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a HTTP endpoint that is accessible by the EUT is configured.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'HTTP' } param_settings { param: 'EncodingType' value: '<Supported Encoding type>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'HTTP.URL' value: '<URL of http endpoint>' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'TestController' } param_settings { param: 'Reference' value: 'Device.LocalAgent.Controller.<controller instance>.' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData
transfers to the HTTPS endpoint within 130
(
(ReportingInterval * 2) + 10
) seconds. - Ensure that all the parameters included in the BulkData transfer
match
TestController.<parameter>
and that all expected parameters are present. - Ensure the Manufacturer OUI, Product Class and Serial Number or the USP Endpoint ID are also encoded as URI parameters in the request.
10.10 Use BulkData collection Push event
Purpose
The purpose of this test is to verify that EUT supports BulkData collection via the Push event.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “USPEventNotif” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'USPEventNotif' } param_settings { param: 'EncodingType' value: '<JSON or CSV>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.LocalAgent.Subscription.' param_settings { param: 'NotifType' value: 'Event' } param_settings { param: 'ReferenceList' value: 'Device.BulkData.Profile.<instance identifier>.Push!' } param_settings { param: 'Enable' value: 'true' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData transfer
Push! events to the controller within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the Data parameter in the Push! notification is well formed (parsable).
- The BulkData transfer contains the one parameter configured in step 4 and the name of the parameter matches the expected name ‘UpTime’.
10.11 Use BulkData collection Push event with Wildcard path
Purpose
The purpose of this test is to verify that EUT supports BulkData collection via the Push event using a wildcard path.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “USPEventNotif” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure that there are at least 2 BootParameters configured for the test Controller.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'USPEventNotif' } param_settings { param: 'EncodingType' value: '<JSON or CSV>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'Enabled' } param_settings { param: 'Reference' value: 'Device.LocalAgent.Controller.*.BootParameter.*.Enable' } } } } }
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.LocalAgent.Subscription.' param_settings { param: 'NotifType' value: 'Event' } param_settings { param: 'ReferenceList' value: 'Device.BulkData.Profile.<instance identifier>.Push!' } param_settings { param: 'Enable' value: 'true' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData transfer
Push! events to the controller within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the Data parameter in the Push! notification is well formed (parsable).
- The BulkData transfer contains at least 2 parameters, one for each
of the configured BootParameters and the name of the parameters match
the expected name
Enabled\.[1-9][0-9]*\.[1-9][0-9]*
.
10.12 Use BulkData collection Push event with Object path
Purpose
The purpose of this test is to verify that EUT supports BulkData collection via the Push event using an object path.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “USPEventNotif” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'USPEventNotif' } param_settings { param: 'EncodingType' value: '<JSON or CSV>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'Controller' } param_settings { param: 'Reference' value: 'Device.LocalAgent.Controller.' } } } } }
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.LocalAgent.Subscription.' param_settings { param: 'NotifType' value: 'Event' } param_settings { param: 'ReferenceList' value: 'Device.BulkData.Profile.<instance identifier>.Push!' } param_settings { param: 'Enable' value: 'true' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT sent 2 BulkData transfer
Push! events to the controller within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the Data parameter in the Push! notification is well formed (parsable).
- The BulkData transfer contains at parameters with names using the prefix “Controller”.
10.13 Use BulkData collection over MQTT
Purpose
The purpose of this test is to verify that EUT supports BulkData collection via MQTT.
Functionality Tags
Conditional Mandatory (supports BulkDataColl:1, “MQTT” ∈ Device.BulkData.Protocols)
Test Setup
- Ensure that the EUT and test equipment have the necessary information to send and receive USP Records to each other.
- Ensure a MQTT endpoint that is accessible by the EUT is enabled in the test environment.
- Ensure there is a Device.MQTT.Client. entry in the EUT’s data model for the MQTT endpoint mentioned in step 2 of the test setup.
Test Procedure
Send an Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.' param_settings { param: 'Protocol' value: 'MQTT' } param_settings { param: 'EncodingType' value: '<JSON or CSV>' } param_settings { param: 'ReportingInterval' value: 'max(60, Device.BulkData.MinReportingInterval)' } param_settings { param: 'MQTT.Reference' value: '<MQTT.Client instance from step 3 of test setup>' } param_settings { param: 'MQTT.PublishTopic' value: 'mqtt-bulkdata' } } } } }
Allow the EUT to send an AddResponse
Record the instance identifiers of the created objects as reported by the EUT.
Send a Add message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: ADD } body { request { add { allow_partial: false create_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.Parameter.' param_settings { param: 'Name' value: 'UpTime' } param_settings { param: 'Reference' value: 'Device.DeviceInfo.UpTime' } } } } }
Send a Set message to the EUT with the following structure:
header { msg_id: '<msg_id>' msg_type: SET } body { request { set { allow_partial: false update_objs { obj_path: 'Device.BulkData.' param_settings { param: 'Enable' value: 'true' } } update_objs { obj_path: 'Device.BulkData.Profile.<instance identifier>.' param_settings { param: 'Enable' value: 'true' } } } } }
Wait up to 130 (
(ReportingInterval * 2) + 10
) seconds
Test Metrics
- After enabling the BulkData profile the EUT published 2 BulkData
transfers to the MQTT server using using the configured topic within 130
(
(ReportingInterval * 2) + 10
) seconds. - The encoding of the Data parameter in the MQTT frame notification is well formed (parsable).
- The BulkData transfer contains the one parameter configured in step 4 and the name of the parameter matches the expected name ‘UpTime’.