SB v3 Chain Test
The Exchange 2020 chain protocol describes how a connection is established and covers error situations in the connection, provided the protocol is correctly implemented.
Performing Test Steps for Supplier Connection
The test scenario includes individual test steps aimed at testing isolated functionalities within the SB flow. The first test step in the scenario is sending an openSession
message.
Number | Time | Supplier Action | Situation Record Version | NDW Action | exchangeStatus Field |
returnStatus Field |
---|---|---|---|---|---|---|
0 | Send openSession |
Verify receipt of openSession and automatic opening of a new session. Response with new session ID in the sessionId element |
openingSession |
snapshotSynchronizationRequest |
||
1 | Send snapshot with received sessionID from openSession response |
1 | Verify receipt of snapshot and processing of the payload. |
online |
ack |
|
2 | Send allElementUpdate with received sessionID from openSession response |
2 | Verify receipt of allElementUpdate and processing of the payload. |
online |
ack |
|
3 | Send allElementUpdate or keepAlive |
Send snapshotSynchronizationRequest to the receiver. The next request should give the correct response for exchange status |
online |
snapshotSynchronizationRequest |
||
4 | Send snapshot with received sessionID from openSession response |
2 | Verify receipt of snapshot and processing of the payload. |
online |
ack |
|
5 | Go through the lifecycle of a situation (start, updates, end) with one or more records | ++ | Verify completion of all steps, including version increases, timestamps, and cancellations | |||
6 | Send allElementUpdate or keepAlive |
Send closeSessionRequest to the receiver and close the session on the next request. |
closingSession |
|||
7 | Open a new session and send a snapshot | 2 | Verify receipt of openSession and opening of the new session. Verify receipt of snapshot and processing of the snapshot |
|||
8 | Send closeSession with received sessionID from openSession response |
Verify receipt of closeSession and closing of the session. Return exchangeStatus as closingSession and returnStatus as ack |
closingSession |
ack |
||
9 | Send openSession |
Verify receipt of openSession and automatic opening of a new session. Response with new session ID in the sessionId element |
openingSession |
ack |
||
Connection Failure
The goal of this test step in the scenario is to simulate connection failures and verify that the supplier resumes data delivery.
The first step is to test a failure on the provider's side, and the second test involves a backbone outage.
Supplier Outage
Number | Time | Supplier Action | Situation Record Version | NDW Action | exchangeStatus Field |
returnStatus Field |
---|---|---|---|---|---|---|
0 | Stop session without sending closeSession |
After 1 minute, the session will be terminated on the receiver | offline |
fail |
||
1 | Restore connection with openSession , send snapshot |
Verify openSession and receipt of snapshot |
Backbone Outage
Number | Time | Supplier Action | Situation Record Version | NDW Action | exchangeStatus Field |
returnStatus Field |
---|---|---|---|---|---|---|
0 | - | Force session status to offline. | offline |
fail |
||
1 | Restore connection with openSession , send snapshot after receiving a message with exchangeStatus offline |
Verify openSession and receipt of snapshot |
Endurance Test
In this final part, the supplier must demonstrate that its data delivery is stable. The system must provide data to NDW for 24 hours. After the 24-hour period, NDW Ops will check for any interruptions in the connection during this time.