@Test
    public void requireThatAsyncHandlerWorks() throws InterruptedException {
        MyHandler handler = new MyHandler();
        AsyncSession session = access().createAsyncSession(new AsyncParameters().setResponseHandler(handler));
        DocumentType type = access().getDocumentTypeManager().getDocumentType("music");
        Document doc1 = new Document(type, new DocumentId("id:ns:music::1"));
        assertTrue(session.put(doc1).isSuccess());
        assertTrue(handler.latch.await(60, TimeUnit.SECONDS));
        assertNotNull(handler.response);
        session.destroy();
    }
These tests should work with all implementations (who choose to implement these features) To test a certain
implementation subclass this test and make the subclass setup assign the implementation class to the
<code>access</code> member variable (make sure it also calls super.setUp()). Override tests of nonsupported features
to do nothing.

@author bratseth
documentapi/src/test/java/com/yahoo/documentapi/test/AbstractDocumentApiTestCase.java