Challenge Overview
The Odyssey Audit Tool facilitates generation of code audit reports for projects hosted at GitHub. In this challenge you will take care about few improvements of its functionality, and test coverage of the code. The codebase is provided in the challenge forum (please, remember that it is propietary, and should not be used / shared outside of this challenge, as per Topcoder Terms of Use), technical stack is Ruby (72.1%) / JavaScript (19.5%), you will work out of the commit fc29b7c2da05eefd4280b40125f6f1a22a15e328.
Four points are in the scope:
Four points are in the scope:
- Rendering of permalinks. When single- or multi-line permalinks are added into a GitHub issue, the Odyssey should be able to render code samples in the report, as shown below:
- Interactive setup / init command. The tool should try to create the .odyssey directory in the home folder, and if does not exist, ask user about his GitHub credentials, providing the mean to configure them interactively. In case user denies to input his credentials interactively, the default version of credentials.json should be created.
- Increase Test Coverage. Implement test cases for all command line options that are currently available in the Odyssey Audit Tool, except -f:
-p, --print-issues Print all issues for a repo
-i, --init project_name Initialise project name
-t, --todos Upload Audit Todos
-r, --render Create final report by rendering issues, TOC, scope
Provide a command (test script) that allows to run all tests from command line, outputing to standard output log information about passed / failed tests, and exiting with error status code in case of any failures.
- Simplify Installation. Provide a way to install the tool with a single command (as a Ruby Gem, or other user-friendly way).