d0a67751dc
* Start * Wip * Implement path based JSON index * Remove json_index_path * Return datetime stamp instead of relative time * Add file size to list item * Add auth check when retrieving JSON index * Make json index path hardcoded * Test (currently failing) * Fix test for test_json_list * Clippy fix * Revert cargo to original versions with only needed changes * Add detail about auth guard affecting list route * Change json_index_path to expose_list * Remove unneeded linebreak * Remove unnecessary import * Remove unnecessary space at end of line * Move config check after auth check * Use new auth check syntax, add docs to struct, rename test_json_list to test_list * Replace chrono usage with uts2ts * Check list result in test * Add example to README * Upgrade serde_json to 1.0.103 * Add linebreak * Remove unneeded clone * Remove extra nl * Update README.md * Update README.md Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com> * Update README.md Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com> * Remove serde_json * Set default config to false for expose_list * Apply suggestions from code review Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com> * Check that option is value in test_list * Update Cargo.toml Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx> * Update cargo.lock * Use expect() to check file name * Remove underscore from list item struct * Keep comma after last line * refactor(server): rename ListItem fields * test(fixtures): add fixture test for listing files * test push * remove file again * chop off ts from filename and minor refactor * update README * docs(readme): fix capitalization * refactor(server): clean up list implementation --------- Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com> Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx> |
||
---|---|---|
.. | ||
test-duplicate-file-upload | ||
test-expiring-file-upload | ||
test-file-upload | ||
test-list-files | ||
test-oneshot-upload | ||
test-oneshot-url | ||
test-path-traversal | ||
test-random-suffix | ||
test-random-url | ||
test-remote-file-upload | ||
test-server-auth | ||
test-server-auth-multiple-tokens | ||
test-server-auto-deletion | ||
test-server-default-extension | ||
test-server-landing-page | ||
test-server-landing-page-file | ||
test-server-mime-blacklist | ||
test-server-mime-override | ||
test-server-payload-limit | ||
test-url-upload | ||
.env | ||
README.md | ||
test-fixtures.sh |
README.md
Fixtures
This directory contains the test fixtures and a simple testing framework for rustypaste
.
Running fixtures
- Build the project in debug mode:
cargo build
- Execute the runner script in this directory:
./test-fixtures.sh
Adding new fixtures
Create an appropriately named directory for the test fixture you want to add. e.g. test-file-upload
Each fixture directory should contain the following files:
test-file-upload/
├── config.toml
└── test.sh
config.toml
: Contains therustypaste
configuration. See the default configuration.test.sh
: Contains the helper functions for testing. The file format is the following:
#!/usr/bin/env bash
setup() {
# preparation
}
run_test() {
# assertions
}
teardown() {
# cleanup
}
These functions are executed in the order defined above.
See the test-file-upload fixture for an example.
Debugging
Set the DEBUG
environment variable to true
while executing the runner script:
$ DEBUG=true ./test-fixtures.sh