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
Changes between revision 6 and 7
orig
1
2
3
4
5
6
7
8
9
10
reviewboard/accounts/models.py |
---|
reviewboard/htdocs/media/rb/css/reviews.css |
---|
reviewboard/reviews/forms.py |
---|
reviewboard/reviews/management/commands/fill-database.py |
---|
reviewboard/scmtools/testdata/git_repo/objects/05/ab61f5d4d0fa3082bd068b4742de599cc2315b |
---|
reviewboard/scmtools/testdata/git_repo/objects/0d/d5ce553d79b5b09b2d979cda92f321e1757e26 |
---|
reviewboard/scmtools/testdata/git_repo/objects/1b/aa5285167980271becd922acd77a20a20b916b |
---|
reviewboard/scmtools/testdata/git_repo/objects/22/4589cf334e9baafeac1165be5e5c04991fd65e |
---|
reviewboard/scmtools/testdata/git_repo/objects/26/d9d9b70bda1b98d073599074f60492b85f91d8 |
---|
reviewboard/scmtools/testdata/git_repo/objects/35/92fca0c53dee231f707508f59e7f3737cd09db |
---|
reviewboard/scmtools/testdata/git_repo/objects/39/6616d02424cfc682ff79ffa65571b74b39b58d |
---|
reviewboard/scmtools/testdata/git_repo/objects/49/b76a37be82f894eabdb7e4e030d59cab0c23e9 |
---|
reviewboard/scmtools/testdata/git_repo/objects/5e/ecfe3410873a597162e90b139ddf315f428204 |
---|
reviewboard/scmtools/testdata/git_repo/objects/6b/ba27836b8b3194ab9838126033557a500f5dc3 |
---|
reviewboard/scmtools/testdata/git_repo/objects/6f/5ae58fd57d59d3fb52bdd492f227bdfe33686a |
---|
reviewboard/scmtools/testdata/git_repo/objects/7e/7cec6387fc06a5ce2663641c1da2264193cb23 |
---|
reviewboard/scmtools/testdata/git_repo/objects/83/479dcccdb44a095f77fa5ced01c2ea5abc5a85 |
---|
reviewboard/scmtools/testdata/git_repo/objects/a2/be8099f4e27d7b248af736fb2743121e2f7140 |
---|
reviewboard/scmtools/testdata/git_repo/objects/a4/fc53e08863f5341effb5204b77504c120166ae |
---|
reviewboard/scmtools/testdata/git_repo/objects/ac/9859760eae52cb2dedd80658f92a06eef428a5 |
---|
reviewboard/scmtools/testdata/git_repo/objects/b0/532fb83f7d14c688e78eea1fd2de248d26af95 |
---|
reviewboard/scmtools/testdata/git_repo/objects/b9/eedc90dfabd3a37a66185f5ef65f0c5c4ba978 |
---|
reviewboard/scmtools/testdata/git_repo/objects/ba/8e5fe8c398600407d24896353b17e630f79ebd |
---|
reviewboard/scmtools/testdata/git_repo/objects/d4/51b4780672f449e861f2a3799541d29fc806e2 |
---|
reviewboard/scmtools/testdata/git_repo/objects/d9/b8b52a89cc69606286c3ce07f200000f27826a |
---|
reviewboard/scmtools/testdata/git_repo/objects/e7/6c016e09c415d7afc4c004a8a290b3c51bff59 |
---|
reviewboard/scmtools/testdata/git_repo/objects/f0/e0e867dd197d3793eba0737586ececda7be168 |
---|