Version 4 (modified by cotto, 11 years ago)

kinda flesh out the hook test

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:

  1. Start with the generic config options.
  2. Delete the svn_revmap db table, if it exists.
  3. Enable the plugin via Trac's config file (or via trac,ini).
  4. Verify that Trac shows the need for an upgrade.
  5. Upgrade Trac.
  6. 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:

  1. Start with the generic config options, but with enable_revmap = 0.
  2. Delete the svn_revmap db table, if it exists.
  3. Enable the plugin via Trac's config file (or via trac,ini).
  4. Verify that Trac does not need to be upgraded

incorrect revmap

The plugin will fail gracefully if the revmap is broken.

Procedure:

  1. Start with the generic config options.
  2. Delete the svn_revmap db table, if it exists.
  3. Enable the plugin via Trac's config file (or via trac,ini).
  4. Generate a revmap ( git log --quiet --format='%H%n%s%n%b' ), but delete instances of "git-svn-id:".
  5. Verify that an upgrade does not produce corrupt data.

tooltips

The plugin will properly display tooltips according to configuration.

Procedure:

  1. Start with the generic config options.
  2. Create or view a wiki page with valid svn revisions and git ids.
  3. Verify that the wiki syntax works and that tooltips are displayed.
  4. Change the "long_tooltips" config option to 0 and restart Trac.
  5. Verify that truncated tooltips are displayed.

wiki syntax

The plugin will properly detect and display svn and git links.

Procedure:

  1. Start with the generic config options.
  2. Create or view a wiki page with valid and invalid svn revisions and git ids.
  3. Verify that the valid links are displayed as links.
  4. Verify that the invalid links are displayed unchanged.

changeset urls

The plugin will properly redirect changeset urls to GitHub.

Procedure:

  1. Start with the generic config options.
  2. Create or view a wiki page with valid svn revisions and git ids.
  3. Verify that the git ids redirect the appropriate commit at GitHub.
  4. Verify that the svn revisions redirect the appropriate git commit at GitHub. (look for the git-svn-id on the GitHub page)

github hooks

The plugin responds correctly to GitHub's post-receive urls.

Procedure:

  1. Start with the generic config options.
  2. Get an example of the data sent with a post-receive callback. (todo: how)
  3. Use curl or wget to post the data to the github hook url (todo: specific instructions)
  4. Create a wiki page that refers to the newly-added commit.
  5. Verify that the link to the commit is displayed correctly, including its tooltip.

TODO

  • browser url works