def METHOD_NAME(self):
    sleep = 2.0
    key = secret.make_secret_key()
    service = TestSleepService(key, duration=sleep)
    try:
        client = TestSleepClient(service.addresses(), key, attempts=1)
        start = time.time()
        threads = list([in_thread(client.sleep, name='request {}'.format(i+1), daemon=False) for i in range(5)])
        time.sleep(sleep / 2.0)
    finally:
        service.shutdown()
    duration = time.time() - start
    print('shutdown completed in {} seconds'.format(duration))
    self.assertGreaterEqual(duration, sleep, 'sleep requests should have been completed')
    self.assertLess(duration, sleep + 1.0, 'sleep requests should have been concurrent')
    for thread in threads:
        thread.join(0.1)
        self.assertFalse(thread.is_alive(), 'thread should have terminated by now')