Wednesday, February 4, 2015

how 'controllability' is causing me some spam

[Edit: As of Feb. 5, 2015, the issue was fixed. I am no longer spammed]

Controllability and Observability are two basic pillars of testability. In order for me to test a given system, I should be able to observe data or a given state. For me to make my tests even more comprehensive, I need to be able to control how that data behaves as well. 

Three years ago, I was working on a project that sends various content through email. one of the challenges we had was setting up email accounts where we can send these emails to. creating new accounts is extremely painful considering how we didn't have the necessary infrastructure to create fake emails on the fly.

The simplest solution I can think of at that time is allow the "+" character in email addresses so I can use (and reuse) gmail's alias feature. After that feature was added, I proceeded in automating creation of these emails by appending epoch time to my email. As far as I can remember, these accounts were added to a non-production user database, and scripts that use these email addresses run once a day.

Recently, I've been receiving newsletter emails from said company but when I try to unsubscribe, I get flagged with an invalid email error. Looks like they fixed/removed that testability feature I requested which stops me from unsubscribing. What puzzles me even more is that when I check the epoch time equivalent, these were users that were automagically created 3 years ago and must have been pushed to a production environment. 

So there you go, everyday I get reminded of a past I've left behind. I should just use Tamper Data, override the unsubscribe POST and get it over with.

oh well. 

No comments: