@Test
public void exec() throws Exception {

    final String vaultName = UUID.randomUUID().toString();
    final String archiveId = UUID.randomUUID().toString();
    final String targetName = UUID.randomUUID().toString();
    final ArchiveTransferManager atm = createMock(ArchiveTransferManager.class);
    atm.download(vaultName, archiveId, new File(targetName));
    expectLastCall().times(1);
    replay(atm);
    final OptionSet options = optionParser.parse("--vault", vaultName,
            "--download", archiveId,
            "--target", targetName);
    final DownloadArchiveCommand command = new DownloadArchiveCommand(client, sqs, sns, atm);
    assertTrue(command.valid(options, optionParser));
    command.exec(options, optionParser);
    verify(atm);
}