2.3 KiB
2.3 KiB
Testing dfdr
This document outlines the test cases for verifying the functionality of the dfdr tool.
Test Cases
1. Relative Paths for Registry List
- Add a registry using a relative path:
dfdr registry add test_registry ../test_data - List registries and verify the path is displayed as relative:
dfdr registry list - Use the registry to add a file:
dfdr add test_registry:sample.txt
2. Specifying Destination Subdirectories
- Add a file to a specific subdirectory:
dfdr add test_registry:sample.txt -d ./subfolder - Verify the file is placed in the correct location:
ls ./subfolder - Check that the .dfdr file contains the correct origin information:
cat ./subfolder/sample.txt.dfdr
3. Enhanced .dfdr Files with Origin Information
- Add a file from a registry:
dfdr add test_registry:config.json - Examine the .dfdr file:
cat config.json.dfdr - Use the
statuscommand to verify the origin information:dfdr status
4. Push Functionality
- Add a file from a registry:
dfdr add test_registry:data.csv - Modify the file in the working copy:
echo "new data" >> data.csv - Push changes back to the registry:
dfdr push data.csv - Verify changes in the original registry:
cat ../test_data/data.csv
5. Move Command
- Add a file from a registry:
dfdr add test_registry:script.py - Move the file within the working copy:
dfdr move script.py ./src/script.py - Verify the file is moved and .dfdr file is updated:
ls ./src cat ./src/script.py.dfdr - Check status for correct location and origin information:
dfdr status
6. Error Handling
- Attempt to push a non-existent file:
dfdr push non_existent_file.txt - Try to move a file to an invalid destination:
dfdr move script.py /root/invalid_destination.py - Add a file from a non-existent registry:
dfdr add fake_registry:file.txt
Running the Tests
To run these tests, set up a test environment with a sample data registry, then execute each command and verify the results match the expected behavior.
Remember to clean up the test environment after running the tests to ensure a clean state for future test runs.