1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * See LICENSE.txt included in this distribution for the specific 9 * language governing permissions and limitations under the License. 10 * 11 * When distributing Covered Code, include this CDDL HEADER in each 12 * file and include the License file at LICENSE.txt. 13 * If applicable, add the following below this CDDL HEADER, with the 14 * fields enclosed by brackets "[]" replaced with your own identifying 15 * information: Portions Copyright [yyyy] [name of copyright owner] 16 * 17 * CDDL HEADER END 18 */ 19 20 /* 21 * Copyright (c) 2019, Chris Fraire <cfraire@me.com>. 22 */ 23 package org.opengrok.indexer.configuration; 24 25 import org.junit.jupiter.api.Test; 26 import org.junit.jupiter.api.condition.EnabledOnOs; 27 import org.junit.jupiter.api.condition.OS; 28 29 import java.io.File; 30 31 import static org.junit.jupiter.api.Assertions.assertEquals; 32 import static org.junit.jupiter.api.Assertions.assertNull; 33 34 public class CanonicalRootValidatorTest { 35 36 @Test testRejectUnseparated()37 public void testRejectUnseparated() { 38 assertEquals(CanonicalRootValidator.validate("test", "test value"), 39 "test value must end with a separator"); 40 } 41 42 @Test 43 @EnabledOnOs({OS.LINUX, OS.MAC, OS.SOLARIS, OS.AIX, OS.OTHER}) testRejectRoot()44 public void testRejectRoot() { 45 assertEquals("test value cannot be the root directory", 46 CanonicalRootValidator.validate("/", "test value"), 47 "should reject root"); 48 } 49 50 @Test testRejectWindowsRoot()51 public void testRejectWindowsRoot() { 52 assertEquals("--canonicalRoot cannot be a root directory", 53 CanonicalRootValidator.validate("C:" + File.separator, "--canonicalRoot"), 54 "should reject Windows root"); 55 } 56 57 @Test testSlashVar()58 public void testSlashVar() { 59 assertNull(CanonicalRootValidator.validate(File.separator + "var" + File.separator, 60 "--canonicalRoot"), "should allow /var/"); 61 } 62 } 63