On Fri, May 10, 2019 at 3:33 PM Craig Russell <apache....@gmail.com> wrote: > > Hi, > > A year ago I was busily creating the discuss/vote/invite project in whimsy > and the effort stalled. I got stuck trying to test the code. > > What is needed is a way to test the interaction between the client (web front > end) and server (whimsy back end). I need a way to test a discussion on a > private PMC list and mock members of the list who are responding. I think I > need at least a "test PMC" with a "test roster". > > That's why the effort is now stuck. I think the code as it is now is about > 95% done, but needs testing. Automated testing would be even better but even > manual testing is tough given my experience with these multi-faceted > architectures. > > Can anyone suggest a path forward? > > https://whimsy.apache.org/project/icla/invite
My ability to directly contribute will likely need to wait until after the upcoming F2F, but we can certainly discuss this at the F2F. Meanwhile... The board agenda tool, the discuss/vote/invite project, the secretary workbench, and the roster tool all have the same basic architecture, so what I am about to say applies to all of them. The board agenda tool has a test suite. The code is here: https://github.com/apache/whimsy/tree/master/www/board/agenda/spec The tests range from unit to integration to full end-to-end testing (and actually launching a browser and simulating keystrokes). There also is test data which is imported into a local instance of svn so the tests can do things like committing changes to the agenda without actually affecting production data: https://github.com/apache/whimsy/tree/master/www/board/agenda/test The one thing that is NOT mocked out currently is LDAP, which is why the tests temporarily started failing when you became director as some of the tests specified 'clr' as the id, and as you are undoubtedly aware the board agenda looks somewhat different to you now than you have become used to. The tests are run on every push. If you go to: https://github.com/apache/whimsy/blob/master/README.md You will see a button near the top that is green and says build passing (at least I hope it is still green!). If you click on that link, you will see that the tests are run on Ruby 2.4 and Ruby 2.5, both on Ubuntu. Previously, the tests were also run on Mac OS/X, but that stopped working due to Travis issues which presumably have since been resolved. We could cut that back to just Ruby 2.5 and add Mac OS/X. This is all controlled here: https://github.com/apache/whimsy/blob/master/.travis.yml Finally, if you still have a working whimsy.local instance, you can run the existing tests yourself. Go to the board agenda directory and type 'rake test'. Once we have a test suite for a new tool, we can update the list of Gemfiles in the .travis.yml file mentioned above to add a new test suite. > Thanks, > > Craig > > Craig L Russell > c...@apache.org - Sam Ruby