package fr.gouv.vitam.logbook.rest; import static org.junit.Assume.assumeTrue; import java.io.File; import org.jhades.JHades; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import fr.gouv.vitam.common.PropertiesUtils; import fr.gouv.vitam.common.exception.VitamApplicationServerException; import fr.gouv.vitam.common.junit.JunitHelper; import fr.gouv.vitam.common.junit.JunitHelper.ElasticsearchTestConfiguration; import fr.gouv.vitam.logbook.common.server.LogbookConfiguration; import fr.gouv.vitam.logbook.common.server.database.collections.LogbookMongoDbAccessImpl; import ru.yandex.qatools.embed.service.MongoEmbeddedService; public class LogbookApplicationAuthenticationTest { private static final String DATABASE_HOST = "localhost"; static LogbookMongoDbAccessImpl mongoDbAccess; private static int port; private static JunitHelper junitHelper; private static MongoEmbeddedService mongo; private static final String databaseName = "db-logbook"; private static final String user = "user-logbook"; private static final String pwd = "user-logbook"; private static final String LOGBOOK_CONF = "logbook-auth-test.conf"; // ES @ClassRule public static TemporaryFolder esTempFolder = new TemporaryFolder(); private final static String ES_CLUSTER_NAME = "vitam-cluster"; private static ElasticsearchTestConfiguration config = null; private static File logbook; private static LogbookConfiguration realLogbook; @BeforeClass public static void setUpBeforeClass() throws Exception { new JHades().overlappingJarsReport(); junitHelper = JunitHelper.getInstance(); port = junitHelper.findAvailablePort(); // Starting the embedded services within temporary dir mongo = new MongoEmbeddedService( DATABASE_HOST + ":" + port, databaseName, user, pwd, "localreplica"); mongo.start(); // ES try { config = JunitHelper.startElasticsearchForTest(esTempFolder, ES_CLUSTER_NAME); } catch (final VitamApplicationServerException e1) { assumeTrue(false); } logbook = PropertiesUtils.findFile(LOGBOOK_CONF); realLogbook = PropertiesUtils.readYaml(logbook, LogbookConfiguration.class); realLogbook.getMongoDbNodes().get(0).setDbPort(port); realLogbook.getElasticsearchNodes().get(0).setTcpPort(config.getTcpPort()); } @AfterClass public static void tearDownAfterClass() throws Exception { if (config != null) { JunitHelper.stopElasticsearchForTest(config); } mongo.stop(); junitHelper.releasePort(port); } @Test public void testApplicationLaunch() { new LogbookApplication(realLogbook); } }