MakeItEasy: Making SUTs with Minimal Fuss
Introducing a new library that enables friction-free creation of systems under test, with autowired FakeItEasy Fakes.
Introducing a new library that enables friction-free creation of systems under test, with autowired FakeItEasy Fakes.
At the Day Job, I work on a product that over two dozen development teams contribute to. To provide some level of stability on the branch that we release from (called "master"), each team has their own development branch and we merge from the team branches to the master branch …
Now that I've completed all my spikes and decided to move forward, I'd like to add a little more rigour to the project. Original LibraryHippo had a comprehensive suite of unit tests and I'll port them over (and perhaps augment them with integration tests). Today I'll add the first unit …
At the Day Job, we're about to transition something like 150 Subversion repos to a single git monorepo. Part of my contribution will be training several tens of git-unaware developers in my office on the basics of working with git.
I was chatting about training approaches with my counterpart in …
In each of last six articles I've satisfied one of the high-risk requirements I had for moving LibraryHippo to the Flask framework, with the goal of hosting it on Heroku. This leaves three "softer" requirements open, which I'll address here.
(Aside: It feels a little weird working on this conversion …
I now have a functioning skeleton of a shadow LibraryHippo site. The last gaping hole is that it treats every visitor the same. We need to be able to distinguish one user from the next and to retain information about them between visits, such as which family they belong to …
Now the Heroku-hosted LibraryHippo can perform periodic tasks, send e-mails, and scrape the Waterloo Public Library's website. All it needs is a datastore to tie these concepts together into a decoupled "push card status to patrons" pipeline.
Now that the toy LibraryHippo on Heroku is sending periodic e-mails, it's time to provide it with meaningful content to send, by having it scrape a library's website. This should be relatively straightforward, but there's some risk as it's not an operation covered in The Flask Mega-Tutorial.
The production application …
Having established that a Flask app running on Heroku can send e-mail, I turn my attention to having LibraryHippo do so periodically. The approach will be to change the e-mail-sending to be something that can more easily be triggered from the outside, and then triggering it from from time to …
After getting a do-nothing web app running on Heroku, I think the riskiest requirement is having a scheduled job for LibraryHippo to check families' status and notify them. However rather than trying to satisfy that requirement, this time I'm going to try to set up email sending, mostly because it …