I've published a Meteor code example similar to githublogin but for Google login process (https://github.com/lc3t35/googlelogin, How to get Google+ profile with Meteor.loginWithGoogle?), it works fine so i decided to add unittests with rtd on this project (https://github.com/lc3t35/googlelogin/tree/unittest), just for fun :) Some modifications were needed to run rtd (https://github.com/xolvio/rtd/pull/54). With rtd you have 2 apps running, the standard app on port 3000 and one in build/mirror_app on port 8000 for code coverage instrumentation. You can run them manually, the standard app works well but the one in mirror_app fails :
Change your credentials in settings; run grunt so mirror_app is updated in build, stop all. go to build/mirror_app and run : meteor --settings settings.json --port 8000 click on LoginWithGoogle, the google window with login/password is displayed, enter login/password and click on Connection, then a new pop-up asks for acceptation to share data with your app, the window closes and the error is
error : Accounts.LoginCancelledError
(more details here : https://github.com/lc3t35/googlelogin/issues/1)
When you run the test with grunt, the behaviour is the same, the tests does not finish all (but no errors are displayed) and grunt displays "Done, without errors", which is not also the expected behaviour.
I'm looking for a pair programmer to review the code...
After reviewing the code with [email protected], we found that handling _oauth was not needed in fixture.js (test/acceptance/fixtures).
The master includes now the tests with rtd : https://github.com/lc3t35/googlelogin
A better isolation (https://docs.google.com/presentation/d/1nHzs64rDpSbrKrZ0YvQ5iaG26t-XcLCCAGth6Pkr5f4/edit#slide=id.gee27c908_2301) should be implemented to run the tests without the need of an internet connection and avoid google authentication latency.
A request to extend RTD with smoke test was issued (https://github.com/xolvio/rtd/issues/70)