Technical Blog

Introducing genty – data sets for python unit tests

Posted on Wednesday, April 9th, 2014 by

Testing and testability are a big part of Sync 4, Box’s new desktop sync’ing application. We committed to the company and ourselves to always maintain excellent engineering practices. In that light we spent a lot of time thinking about testing and testability. We wanted (and continue to want) quality code coverage and effective testing patterns. One aspect of testing continued to bite us…...

Read more ›

Tags: data providers python unit testing

Introducing flaky – a nose test plugin for automatically rerunning flaky tests

Posted on Wednesday, April 9th, 2014 by

Have you ever been tempted to do this? We’ve all had tests that fail; worse, we’ve had tests that fail only occasionally. Often, the solution is to fix the test, but sometimes the sporadic failures originate from a component that can’t be fixed.  Now you’ve got a flaky test - one that fails, usually infrequently, for reasons other than an error in the code under test. This...

Read more ›

Tags: python unit testing

Box Tech Talk: Creating Self-Defending Applications to Repel Attackers

Posted on Thursday, April 3rd, 2014 by

Applications are constantly under attack. Unfortunately, nearly all applications have no capability of detecting an attacker or responding before a breach occurs. Those applications sit passively and allow the attacker to constantly unleash attack after attack. Let’s change the game and equip our application with the resources to detect an attack with high accuracy and respond in real time to...

Read more ›

Building a scalable framework for asynchronous rule-based job execution

Posted on Thursday, March 27th, 2014 by

Today we launched a set of features to support Policies and Automations on Box. The idea started off as a Box Hackathon project almost two years ago, in some ways sparked by the rise of IFTTT (If This Then That), although we imagined it becoming more than just a proof of concept to win a prize. Since then, it has taken on two different meanings — depending on your perspective.

Read more ›

Tags: compute platform policies automation Scala workflow

Handling Node.js Dependencies At Box

Posted on Thursday, March 20th, 2014 by

When Box began embracing Node.js into our technology stack, we very quickly were faced with a decision about how to manage dependencies. Open source projects typically depend on npm for handling all aspects of dependency management: new dependencies are published, existing dependencies are downloaded, and you trust that the npm registry will be there to help you along the way. And while that works...

Read more ›