package com.constellio.app.ui.acceptation.navigation; import static org.assertj.core.api.Assertions.assertThat; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.io.IOUtils; import org.junit.Before; import org.junit.Test; import com.constellio.data.io.streamFactories.StreamFactory; import com.constellio.model.services.users.UserPhotosServices; import com.constellio.sdk.tests.ConstellioTest; import com.constellio.sdk.tests.FakeSessionContext; import com.constellio.sdk.tests.annotations.InDevelopmentTest; import com.constellio.sdk.tests.annotations.UiTest; import com.constellio.sdk.tests.selenium.adapters.constellio.ConstellioWebDriver; @UiTest @InDevelopmentTest public class LoginAcceptanceTest extends ConstellioTest { ConstellioWebDriver driver; @Before public void setUp() throws Exception { prepareSystem( withZeCollection().withConstellioRMModule().withAllTestUsers() ); inCollection(zeCollection).giveWriteAndDeleteAccessTo(dakota); driver = newWebDriver(FakeSessionContext.edouardInCollection(zeCollection)); driver.logUserInCollection(dakota, zeCollection); } @Test public void testLoginsAndLogouts() throws Exception { pokeChuckNorris(); waitUntilICloseTheBrowsers(); assertThat(driver.getCurrentUserTitle()).isEqualTo("Dakota L'indien"); driver.logout(); driver.logUserInCollection(edouard, zeCollection); assertThat(driver.getCurrentUserTitle()).isEqualTo("Edouard Lechat"); waitUntilICloseTheBrowsers(); } public static final String SHOW_USER_PHOTO = "Maclasse-ShowUserPhoto"; //@Test public void exempleGetPhoto() throws Exception { //Copie les photos des utilisateurs dans ce répertoire File folder = new File("/Users/francisbaril/Downloads/"); exempleGetPhotoInFolder(aliceWonderland, folder); exempleGetPhotoInFolder(bobGratton, folder); exempleGetPhotoInFolder(charlesFrancoisXavier, folder); exempleGetPhotoInFolder(dakota, folder); exempleGetPhotoInFolder(edouard, folder); exempleGetPhotoInFolder(gandalf, folder); exempleGetPhotoInFolder(chuckNorris, folder); } private void exempleGetPhotoInFolder(String user, File folder) throws Exception { UserPhotosServices userPhotosServices = getModelLayerFactory().newUserPhotosServices(); StreamFactory<InputStream> streamFactory = userPhotosServices.getPhotoInputStream(user); File file = new File(folder, "test_" + user + ".jpg"); file.delete(); InputStream inputStream = null; OutputStream outputStream = null; try { inputStream = streamFactory.create(SHOW_USER_PHOTO); outputStream = new FileOutputStream(file); IOUtils.copy(inputStream, outputStream); } finally { IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(outputStream); } } }