@Test
public void testReadAppSettingsFromJsonString() throws
                                                Exception {

    // given a JSON settings
    final String json = TestHelper.getFixture("app_settings.json");
    // when read the JSON as DummyAppSettings
    final DummyAppSettings appSettings = (DummyAppSettings) appSettingsReader.read(json);
    verify(onAppSettingsReaderListener,
           never()).readAdditionalSettings(any(JsonReader.class),
                                           any(String.class),
                                           any(DummyAppSettings.class));
    // then
    assertNotNull(appSettings);
    assertNotNull(appSettings.getDbSettings());
    assertNotNull(appSettings.getSyncSettings());
    assertEquals("data.db",
                 appSettings.getDbSettings()
                            .getName());
    assertEquals(1,
                 appSettings.getDbSettings()
                            .getVersion());
    Assert.assertEquals("http://domain.com/sync/",
                        appSettings.getSyncSettings()
                                   .getServerUrl());
    Assert.assertEquals("my!token#",
                        appSettings.getSyncSettings()
                                   .getToken());
    Assert.assertEquals("status/",
                        appSettings.getSyncSettings()
                                   .getStatusUrl());
    Assert.assertEquals("import/",
                        appSettings.getSyncSettings()
                                   .getImportUrl());
    Assert.assertEquals(1,
                        appSettings.getSyncSettings()
                                   .getExports()
                                   .size());
    Assert.assertEquals("export/sqlite/",
                        appSettings.getSyncSettings()
                                   .getExports()
                                   .get(0)
                                   .getUrl());
    Assert.assertEquals("databases/data.db",
                        appSettings.getSyncSettings()
                                   .getExports()
                                   .get(0)
                                   .getFile());
}