package io.searchbox.snapshot; import com.google.gson.Gson; import org.elasticsearch.common.settings.Settings; import org.junit.Test; import static org.junit.Assert.assertEquals; /** * @author happyprg(hongsgo@gmail.com) */ public class CreateSnapshotRepositoryTest { private String repository = "seohoo"; @Test public void testBasicUriGeneration() { final Settings.Builder registerRepositorySettings = Settings.builder(); registerRepositorySettings.put("type", "fs"); registerRepositorySettings.put("settings.compress", "true"); registerRepositorySettings.put("settings.location", "/mount/backups/my_backup"); registerRepositorySettings.put("settings.chunk_size", "10m"); registerRepositorySettings.put("settings.max_restore_bytes_per_sec", "40mb"); registerRepositorySettings.put("settings.max_snapshot_bytes_per_sec", "40mb"); registerRepositorySettings.put("settings.readonly", "false"); CreateSnapshotRepository createSnapshotRepository = new CreateSnapshotRepository.Builder(repository).settings(registerRepositorySettings.build().getAsMap()).build(); assertEquals("PUT", createSnapshotRepository.getRestMethodName()); assertEquals("/_snapshot/" + repository, createSnapshotRepository.getURI()); String settings = new Gson().toJson(createSnapshotRepository.getData(new Gson())); assertEquals("\"{\\\"settings.chunk_size\\\":\\\"10m\\\",\\\"settings.compress\\\":\\\"true\\\",\\\"settings.location\\\":\\\"/mount/backups/my_backup\\\",\\\"settings.max_restore_bytes_per_sec\\\":\\\"40mb\\\",\\\"settings.max_snapshot_bytes_per_sec\\\":\\\"40mb\\\",\\\"settings.readonly\\\":\\\"false\\\",\\\"type\\\":\\\"fs\\\"}\"", settings); } @Test public void testVerifyParam() { CreateSnapshotRepository createSnapshotRepository = new CreateSnapshotRepository.Builder(repository).verify(false).build(); assertEquals("/_snapshot/seohoo?verify=false", createSnapshotRepository.getURI()); } }