Imagine a client (Java)/server (Perl) set up. The client reads data from the server and based on the data it receives, it writes data back to the server. The client is running on a remote host and we can't run it locally. If the client receives data which indicates a major amount of writes, it schedules the writes for a time when server load is lowered.
What we were thinking of is having acceptance tests which conceptually do this:
This didn't look to hard, but with the "schedule later in the day" part, acceptance tests could block for hours. That sucks. What's the best way to test this when viewing the client as a black box?