/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.plugin.svn.server; import com.google.common.base.Joiner; import org.eclipse.che.commons.lang.NameGenerator; import org.junit.Before; import org.junit.Test; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Unit tests for {@link org.eclipse.che.plugin.svn.server.SubversionConfigurationChecker}. * * @author Vladyslav Zhukovskyi */ public class SubversionConfigurationCheckerTest { private SubversionConfigurationChecker configurationChecker; @Before public void setup() { configurationChecker = new SubversionConfigurationChecker(); } @Test public void testSvnConfigFileShouldExist() throws Exception { configurationChecker.ensureExistingSvnConfigFile(); Path loadedConfigFile = configurationChecker.getLoadedConfigFile(); assertTrue(loadedConfigFile.toFile().exists()); assertTrue(loadedConfigFile.toFile().isFile()); } @Test public void testSvnCustomConfigFileShouldExist() throws Exception { configurationChecker = new SubversionConfigurationChecker( Paths.get(System.getProperty("java.io.tmpdir"), NameGenerator.generate("svn-config-", 4))); configurationChecker.ensureExistingSvnConfigFile(); Path loadedConfigFile = configurationChecker.getLoadedConfigFile(); assertTrue(loadedConfigFile.toFile().exists()); assertTrue(loadedConfigFile.toFile().isFile()); } @Test public void testConstructProperConfigFile() throws Exception { configurationChecker = new SubversionConfigurationChecker( Paths.get(System.getProperty("java.io.tmpdir"), NameGenerator.generate("svn-config-", 4))); configurationChecker.ensureExistingSvnConfigFile(); Path loadedConfigFile = configurationChecker.getLoadedConfigFile(); assertTrue(loadedConfigFile.toFile().exists()); assertTrue(loadedConfigFile.toFile().isFile()); configurationChecker.checkAndUpdateConfigFile(); List<String> configContent = Files.readAllLines(loadedConfigFile, Charset.forName("UTF-8")); String expectedContent = "[miscellany]\n" + "global-ignores = .che .vfs"; assertEquals(expectedContent, Joiner.on('\n').join(configContent)); } }