All tests are split in three folders:

 - `unit` - Tests that cover functions that transform data in an non-trivial way. These tests simply require() a few files and run code in there, so they are very fast.
 - `functional` - Tests that launch sinopia instance and perform a series of requests to it over http. They are slower than unit tests.
 - `integration` - Tests that launch sinopia instance and do requests to it using npm. They are really slow and can hit a real npm registry.

Unit and functional tests are executed automatically with `yapm test`. Integration tests are supposed to be executed manually from time to time.

