package jp.co.worksap.workspace.cli; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.empty; import static org.junit.Assert.assertThat; import java.io.File; import java.io.IOException; import jp.co.worksap.workspace.packagemanagement.Package; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import com.google.common.base.Charsets; import com.google.common.io.Files; public class ConfigurationLoaderTest { @Rule public TemporaryFolder folder = new TemporaryFolder(); @Test public void testEmptyConfiguration() throws IOException { File file = folder.newFile(); Files.write("{\"targetPackage\": []}", file, Charsets.UTF_8); Configuration config = new ConfigurationLoader().loadFrom(file, null); assertThat(config.getTargetPackage(), is(empty())); } @Test public void testWithOneTargetPackage() throws IOException { File file = folder.newFile(); Files.write("{\"targetPackage\": [{\"name\":\"wget\"}]}", file, Charsets.UTF_8); Configuration config = new ConfigurationLoader().loadFrom(file, null); assertThat(config.getTargetPackage(), contains(Package.of("wget"))); } @Test public void testHoconFormat() throws IOException { File file = folder.newFile(); Files.write("targetPackage: [{name:wget}]", file, Charsets.UTF_8); Configuration config = new ConfigurationLoader().loadFrom(file, null); assertThat(config.getTargetPackage(), contains(Package.of("wget"))); } @Test public void testWebSphereProfile() throws IOException { File file = folder.newFile(); Files.write("wasProfile: {cellName: \"cell-name\", dataSource: [{databaseName: database-name}]}", file, Charsets.UTF_8); Configuration config = new ConfigurationLoader().loadFrom(file, null); assertThat(config.getWasProfile().getCellName(), is("cell-name")); assertThat(config.getWasProfile().getDataSource().size(), is(1)); assertThat(config.getWasProfile().getDataSource().get(0).getDatabaseName(), is("database-name")); } }