cfpb / grasshopper-parser

Address Parsing REST API
Creative Commons Zero v1.0 Universal
8 stars 8 forks source link

Adds Automated Testing & Code Quality Tools #7

Closed hkeeler closed 9 years ago

hkeeler commented 9 years ago

Closes #2.

This is a first take at adding automated testing and code quality tools to the grasshopper-parser API. These tests should be considered semi-integration tests in that they focus on testing the REST API, and less so on any underlying logic, such as what goes on under the hood with the validate param.

These tests are written using the Flask Testing setup, which really uses a Werkzeug Test Client under the hood for the heavy lifting. In addition, I am using nose as the unittesting framework, coverage for test coverage, flake8 for code quality, and tox to glue it all together.

hkeeler commented 9 years ago

https://travis-ci.org appears to be "Offline for Maintenance" at the moment. Please hold off merging until I can confirm the that Travis setup is actually working.

hkeeler commented 9 years ago

OK, Travis seems to be happy, and I've fixed the issue causing flake8 to blow up. It wasn't really blowing up, its just that it defaults to a 1 exit code when it breaks one of its code quality rules. This was especially confusing as it returns the following, making you think something is broken in the python path:

ERROR: InvocationError: '/home/travis/build/cfpb/grasshopper-parser/.tox/flake8/bin/flake8'

I personally don't really consider this to be a fail. To fix this, I added the --exit-zero arg to the flake8 call. All is well now, and ready for full review.

hkeeler commented 9 years ago

I've also added Coveralls (https://coveralls.io/r/hkeeler/grasshopper-parser) into this PR.

Closes #8.

wpears commented 9 years ago

LGTM. I'll merge after the typo fix above.

hkeeler commented 9 years ago

Cool. Should be all good now. Thanks @wpears.