@Test public void testUpdateSettings() throws Throwable { ImageEntity imageEntity = new ImageEntity(); imageEntity.setName("image-name"); imageEntity.setSize(1000L); imageEntity.setState(ImageState.READY); imageDao.create(imageEntity); String imageId = imageEntity.getId(); Map<String, String> imageSettings = new HashMap<>(); imageSettings.put("property-1", "value-1"); imageSettings.put("property-2", null); imageBackend.updateSettings(imageEntity, imageSettings); List<ImageSettingsEntity> imageSettingsEntityList = imageSettingsDao.listAll(); assertThat(imageSettingsEntityList.size(), is(2)); ImageSettingsEntity settings1 = imageSettingsEntityList.get(0); assertThat(settings1.getImage().getId(), is(imageId)); assertThat(settings1.getName(), is("property-1")); assertThat(settings1.getDefaultValue(), is("value-1")); ImageSettingsEntity settings2 = imageSettingsEntityList.get(1); assertThat(settings2.getImage().getId(), is(imageId)); assertThat(settings2.getName(), is("property-2")); assertThat(settings2.getDefaultValue(), is("")); assertThat(imageDao.listAll().size(), is(1)); assertThat(imageDao.listAll().get(0).getImageSettings().size(), is(2)); }