Appendix B: Integration Test
A set of integration tests are expected to be run to validate integration between the TSS and the TFT Router. This test is not expected to be comprehensive. Instead, the TSS and TFT Router are expected to conduct their own set of tests in addition to these straightforward tests.
The following tests are designed to be run in order. If a test fails, then after the defect is fixed, restart from the beginning of this series of tests:
- Load 1,000,000 active TFNs in the TSS database (not the queue, but the database). The TFT Router should use the Initialize URL to trigger loading the data into the queue. Then, the TFT Router must use the download URL to download all records. Verify that the sequence number starts with 1 and the last sequence number is 1,000,000. Confirm that the number of records downloaded to the TFT Router is also 1,000,000. Spot check an individual record or two?
- Repeat the first test (Initialize URL followed by a complete download) and confirm that the sequence number is reset to 1 and all records are once again downloaded without issue until the empty event is reached. This is testing to make sure the TFT Router is prepared to “reset” even after the first time it is initialized.
- Remove 500,000 of the records from the TSS DB and put those 500,000 delete events on the queue. Confirm that, without prodding, the TFT Router naturally retries to download all the new events. Confirm that the sequence number starts at 1,000,001 and ends at 1,500,000. Confirm that the TFT Router DB now has only 500,000 members.
- Remove the remaining 500,000 records from the TSS and put those events on the queue. Confirm that the TFT Router periodic timer expires and downloads all the delete events. Confirm the sequence start at 1,500,001 and ends at 2,000,000. Confirm that the TFT Router DB is empty as is the TSS DB. Confirm the queue is empty too.
- Confirm that the TFT Router timer expires and tries to download, but there are no events to download. Verify that the “empty event” format is sent and received without issues.
- Add 1 record to the TSS DB and therefore 1 add event to the queue. Confirm that when the TFT Router’s timer expires, it downloads the 1 add event correctly even though it may have asked for 1000 events. Confirm the sequence number starts and ends with 2,000,001.
- Delete the prior record, putting 1 delete event on the queue. Confirm that when the TFT Router’s timer expires, it downloads the 1 delete event correctly even though it may have asked for 1000 events. Confirm the sequence number starts and ends with 2,000,002.
- Change the user password so the next download URL fails when the TFT Router timer expires next. Confirm there is no ill effect and that the appropriate permanent error is sent back to the TFT Router. Change the password back and ensure the next empty event download is successful.