The problems with this are:

1. Actually sleeping causes tests to slow down. Its never a big deal for one individual test, but when you have a bunch of them it turns into a big deal.
2. This _will_ fail randomly sometimes. A call to `time.sleep(1)` is a very approximate thing - the scheduler might decide not to wake you up for 10 seconds.

I'd suggest mocking `time.time()` and `time.sleep()` as necessary to make this test run without actually sleeping or timing anything. You can do something like `@mock.path('time.time')` and `mocked_time_time.side_effects = [10, 11]` in order to set a series of return values (ie, `time.time()` would return `10` then `11`).