Version 6 (modified by cotto, 11 years ago) |
---|
The GitHub Trac plugin doesn't come with any test suite, so the purpose of this page is to create a list of manual tests. This will give us some level of QA that the plugin conforms to a minimal level of quality in addition to serving as a list of features which have been successfully implemented.
Setup
<Insert setup instructions here. Postgres is preferable since that's what trac.parrot.org is running on.>
Test Results
test | status at 25c365 |
clean install | PASS |
Test Cases
When running these test cases, use the below generic configuration options unless otherwise specified.
[github] apitoken = <your token here> #get this from https://github.com/account autofetch = 0 browser = http://github.com/parrot/parrot/commit/ closestatus = "closed" enable_revmap = 1 long_tooltips = 1 svn_revmap = revmap
clean install (enabled)
The plugin can be installed onto a db which doesn't have an existing svn_revmap table.
Procedure:
- Start with the generic config options.
- Delete the svn_revmap db table, if it exists.
- Enable the plugin via Trac's config file (or via trac,ini).
- Verify that Trac shows the need for an upgrade.
- Upgrade Trac.
- Verify that Trac no longer needs to be upgraded.
clean install (disabled)
The plugin doesn't require the extra db table if revmaps are disabled.
Procedure:
- Start with the generic config options, but with enable_revmap = 0.
- Delete the svn_revmap db table, if it exists.
- Enable the plugin via Trac's config file (or via trac,ini).
- Verify that Trac does not need to be upgraded
incorrect revmap
The plugin will fail gracefully if the revmap is broken.
Procedure:
- Start with the generic config options.
- Delete the svn_revmap db table, if it exists.
- Enable the plugin via Trac's config file (or via trac,ini).
- Generate a revmap ( git log --quiet --format='%H%n%s%n%b' ), but delete instances of "git-svn-id:".
- Verify that an upgrade does not produce corrupt data.
tooltips
The plugin will properly display tooltips according to configuration.
Procedure:
- Start with the generic config options.
- Create or view a wiki page with valid svn revisions and git ids.
- Verify that the wiki syntax works and that tooltips are displayed.
- Change the "long_tooltips" config option to 0 and restart Trac.
- Verify that truncated tooltips are displayed.
wiki syntax
The plugin will properly detect and display svn and git links.
Procedure:
- Start with the generic config options.
- Create or view a wiki page with valid and invalid svn revisions and git ids.
- Verify that the valid links are displayed as links.
- Verify that the invalid links are displayed unchanged.
changeset urls
The plugin will properly redirect changeset urls to GitHub.
Procedure:
- Start with the generic config options.
- Create or view a wiki page with valid svn revisions and git ids.
- Verify that the git ids redirect the appropriate commit at GitHub.
- Verify that the svn revisions redirect the appropriate git commit at GitHub. (look for the git-svn-id on the GitHub page)
github hook
The plugin responds correctly to GitHub's post-receive callback.
Procedure:
- Start with the generic config options.
- Get an example of the payload sent to a post-receive callback from http://www.postbin.org/12dx3gx . Save it to a file and change one of the commit id and git-svn-id values to something unique (but still valid).
- Use curl to post the data to the github hook url: curl --data-urlencode payload@your_file_here http://localhost:8080/trac/test/github/APITOKEN (use the API token from github.apitoken in trac.ini)
- Create a wiki page that refers to the newly-added commit, both as a git id and a svn revision.
- Verify that the link to the commit is displayed correctly, including its tooltip.
TODO
- browser url works