### Question:
ConfigurationService { public Observable<Void> save(Configuration configuration) { return Observable.from(configuration.getProperties().entrySet()) .map(entry -> updateConfigurationValue.bind(configuration.getId(), entry.getKey(), entry.getValue())) .collect(() -> new BatchStatement(UNLOGGED), BatchStatement::add) .flatMap(batch -> session.execute(batch).map(resultSet -> null)); }  void init(RxSession session); Observable<Configuration> load(String id); Observable<String> load(String id, String name); Observable<Configuration> load(String id, Scheduler scheduler); Observable<Void> save(Configuration configuration); Observable<Void> save(String configId, String name, String value); Observable<Void> save(String configId, String name, String value, Scheduler scheduler); Completable delete(String configId, String name); Completable delete(String configId);  }### Answer:
@Test public void updateSettings() { String configurationId = nextConfigurationId(); Map<String, String> properties = ImmutableMap.of("A", "1", "B", "2"); Configuration configuration = new Configuration(configurationId, properties); doAction(() -> configurationService.save(configuration)); ResultSet resultSet = session.execute("SELECT name, value FROM sys_config WHERE config_id = " + "'" + configurationId + "'"); Map<String, String> actual = new HashMap<>(); for (Row row : resultSet) { actual.put(row.getString(0), row.getString(1)); } assertEquals(actual, properties); }