Feature #2201
Updated by Junxiao Shi almost 10 years ago
Develop an [integration test](http://gerrit.named-data.net/#/admin/projects/NFD/integration-tests) for remote prefix registration. ## Topology A---B IPv4 UDP tunnel is used. ## Steps 1. generate certificates on A for these identities, in RIB daemon's KeyChain: * ndn:/Z/A ndn:/A self-signed * ndn:/Z/A/nrd ndn:/A/nrd signed by ndn:/Z/A ndn:/A * ndn:/Z/A/B/C ndn:/A/B/C signed by ndn:/Z/A ndn:/A * ndn:/Z/A/B/C/D/E/nrd ndn:/A/B/C/D/E/nrd signed by ndn:/Z/A/B/C ndn:/A/B/C * ndn:/Z/F ndn:/F self-signed 2. configure NFD on A: * enable remote prefix registration * set remote registration refreshing time to 15 seconds 3. configure NFD on B: * set UDP face timeout to 35 seconds * enable acceptance of prefix registration using `ndn:/localhop/nfd/rib` command prefix * make ndn:/Z/A ndn:/A a trust anchor for prefix remote registration using `ndn:/localhop/nfd/rib` command prefix * set broadcast strategy for ndn:/ UDP face timeout to 35 seconds 4. start NFD (including RIB Daemon) on A,B 5. start repo-ng on A, and put all certificates generated in step 1 into the repository 6. start `nfd-autoreg --prefix=/Z` on B 7. execute nfdc on A to create a face toward B over UDP 8. start ndnpingserver for ndn:/Z/A/G ndn:/A/G on A, defer 5 seconds 9. 6. inspect RIB on B, fail the test case if Route for ndn:/Z/A ndn:/A toward A exists 10. execute nfdc on A to register a Route for ndn:/localhop/nfd on the face created in step 7 11. defer 5 seconds 12. inspect RIB on B, fail the test case if Route for ndn:/Z/A toward A does not exist 13. 7. start ndnpingserver for ndn:/Z/A/H ndn:/A/H on A, defer 5 seconds 14. 8. inspect RIB on B, fail the test case if Route for ndn:/Z/A ndn:/A toward A does not exist 15. 9. stop ndnpingserver from step 8, 5, defer 5 seconds 16. 10. inspect RIB on B, fail the test case if Route for ndn:/Z/A ndn:/A toward A does not exist 17. 11. stop ndnpingserver from step 13, 7, defer 5 seconds 18. 12. inspect RIB on B, fail the test case if Route for ndn:/Z/A ndn:/A toward A exists 19. 13. start ndnpingserver for ndn:/Z/A/B/C/D ndn:/A/B/C/D on A, defer 5 seconds 20. 14. inspect RIB on B, fail the test case if Route for ndn:/Z/A ndn:/A toward A exists, does not exist, fail the test case if Route for ndn:/Z/A/B/C ndn:/A/B/C toward A does not exist exists 21. 15. stop ndnpingserver from step 19 13 22. 16. start ndnpingserver for ndn:/Z/A/B/C/D/E ndn:/A/B/C/D/E on A, defer 5 seconds 23. 17. inspect RIB on B, fail the test case if Route for ndn:/Z/A ndn:/A toward A exists, fail the test case if Route for ndn:/Z/A/B/C ndn:/A/B/C/D/E toward A exists, fail the test case if Route for ndn:/Z/A/B/C/D/E toward A does not exist 24. 18. defer 80 45 seconds 25. 19. inspect RIB on B, fail the test case if Route for ndn:/Z/A/B/C/D/E ndn:/A/B/C/D/E toward A does not exist 26. 20. start ndnpingserver for ndn:/Z/F/I ndn:/F/I on A, defer 5 seconds 26. 21. inspect RIB on B, fail the test case if Route for ndn:/Z/F ndn:/F or ndn:/F/I toward A exists