@Test
public void testMissingSolID() {

    final Logger logger = Logger.getLogger(DynamoDBMissionWorker.class.getName());
    Handler handler;
    final ByteArrayOutputStream os = new ByteArrayOutputStream();
    final URL url = PowerMock.createMock(URL.class);
    PowerMock.mockStatic(JSONUtils.class);
    PowerMock.mockStatic(NetworkUtils.class);
    String manifest = null;
    try {
        manifest = WorkerTestUtils.readFile(MISSING_SOL_ID_FILE);
    } catch (final IOException e) {
        fail("Could not read file: " + MISSING_SOL_ID_FILE);
    }
    try {
        NetworkUtils.getDataFromURL(url, null, ImageIngester.DEFAULT_CONNECT_TIMEOUT);
        PowerMock.expectLastCall().andReturn(manifest.getBytes());
        PowerMock.replayAll();
        handler = new StreamHandler(os, new SimpleFormatter());
        logger.setUseParentHandlers(false);
        logger.addHandler(handler);
        DynamoDBMissionWorker.getSolJSON(url, ImageIngester.DEFAULT_CONNECT_TIMEOUT);
        handler.flush();
        assertTrue(os.toString().contains("WARNING: Sol missing required keys"));
    } catch (final IOException e) {
        fail(e.getMessage());
    } finally {
        try {
            os.close();
        } catch (final IOException e) {
            fail(e.getMessage());
        }
    }
}