Fill-database
Review Request #2104 — Created Feb. 6, 2011 and submitted — Latest diff uploaded
Here is the fully functioning fill-database script. Command and arguments take the form of: ./reviewboard/manage.py fill-database --users=N1 --review-requests=N2:N3 --diffs=N4:N5 --reviews=N6:N7 --diff-comments=N8:N9 Added: a password can now be set for all users created using --password=TEXT fill-database --users=10 --password=custom1 For instance: ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --diffs=1 --reviews=1 --diff-comments=1 or ./reviewboard/manage.py fill-database --users=1 --review-requests=1:10 --diffs=1:5 --reviews=1:5 --diff-comments=1:5
Testing for fill-database March 20, 2011 tests added: Tested missing diff directory, missing diff files, & missing repo directory Tested causing error cases where try/except clauses were changed March 13, 2011 Tests added: Tested running exceptions, where path files could not be found Tested adding the password parameter (--password=test5) Tested adding random lorem ipsum wording to summary & description In the cases below where the database is empty a superuser has been created Test adding only one user on empty database ./reviewboard/manage.py fill-database --users=1 Test adding many users on an empty database ./reviewboard/manage.py fill-database --users=100 ./reviewboard/manage.py fill-database --users=1000 Test adding large num of users ./reviewboard/manage.py fill-database --users=10000 Test adding users and arguments other than review-request (shouldn't add anything but users) ./reviewboard/manage.py fill-database --users=5 --diffs=1 ./reviewboard/manage.py fill-database --users=5 --reviews=1 ./reviewboard/manage.py fill-database --users=5 --diffs=1 --reviews=1 ./reviewboard/manage.py fill-database --users=5 --diff-comments=1 ./reviewboard/manage.py fill-database --users=5 --diffs=1 --reviews=1 --diff-comments=1 Test adding users and review-requests to emtpy database ./reviewboard/manage.py fill-database --users=1 --review-requests=1 ./reviewboard/manage.py fill-database --users=1 --review-requests=1:10 ./reviewboard/manage.py fill-database --users=100 --review-requests=1:10 Test adding arguments other than diffs (shouldn't add anything but users & review-requests) ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --reviews=100 ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --diff-comments=100 ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --reviews=100 --diff-comments=100 Test adding users, review-requests, and diffs to empty database ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --diffs=1 ./reviewboard/manage.py fill-database --users=100 --review-requests=1:10 --diffs=0:10 Test adding users, requests, diffs, and arguments other than reviews (shouldn't add anything but users, requests & diffs) ./reviewboard/manage.py fill-database --users=5 --review-requests=1:5 --diffs=1:10 --diff-comments=10 Test adding users, requests, diffs, and reviews to empty database ./reviewboard/manage.py fill-database --users=1 --review-requests=1:5 --diffs=1 --reviews=1 ./reviewboard/manage.py fill-database --users=100 --review-requests=0:5 --diffs=0:5 --reviews=0:5 Test adding users, requests, diffs, reviews, and comments to empty database ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --diffs=1 --reviews=1 --diff-comments=1 Test adding additional information to existing database ./reviewboard/manage.py fill-database --users=5 --review-requests=1:5 --diffs=1:5 --reviews=1:10 --diff-comments=1:10 Test adding lots of information ./reviewboard/manage.py fill-database --users=1 --review-requests=1 --diffs=1 --reviews=100 --diff-comments=1 ./reviewboard/manage.py fill-database --users=5 --review-requests=5 --diffs=10 --reviews=100 --diff-comments=1 ./reviewboard/manage.py fill-database --users=100 --review-requests=10 --diffs=10 --reviews=10 --diff-comments=10 [unfortunately while this last test does work, I ran it for 24hour without it completing the task entirely] Test some params at 0, shouldn't execute following parameters ./reviewboard/manage.py fill-database --users=5 --review-requests=0 --diffs=1:5 --reviews=1:5 --diff-comments=1:5 ./reviewboard/manage.py fill-database --users=5 --review-requests=2 --diffs=0 --reviews=1:5 --diff-comments=1:5 ./reviewboard/manage.py fill-database --users=5 --review-requests=2 --diffs=2 --reviews=0 --diff-comments=1:5 ./reviewboard/manage.py fill-database --users=5 --review-requests=2 --diffs=2 --reviews=2 --diff-comments=0 Additional quantity-based tests: ./reviewboard/manage.py fill-database --users=5 --review-requests=1:5 --diffs=1:10 --reviews=1:10 --diff-comments=1:10 ./reviewboard/manage.py fill-database --users=100 --review-requests=100 ./reviewboard/manage.py fill-database --users=100 --review-requests=50 --diffs=20 ./reviewboard/manage.py fill-database --users=100 --review-requests=30 --diffs=10 ./reviewboard/manage.py fill-database --users=100 --review-requests=20 --diffs=5 --reviews=50 ./reviewboard/manage.py fill-database --users=100 --review-requests=20 --diffs=5 --reviews=20 ./reviewboard/manage.py fill-database --users=100 --review-requests=20 --diffs=5 --reviews=10 ./reviewboard/manage.py fill-database --users=100 --review-requests=10 --diffs=5 --reviews=10 --diff-comments=10