1b28a5538SAdam Hornacek /* 2b28a5538SAdam Hornacek * CDDL HEADER START 3b28a5538SAdam Hornacek * 4b28a5538SAdam Hornacek * The contents of this file are subject to the terms of the 5b28a5538SAdam Hornacek * Common Development and Distribution License (the "License"). 6b28a5538SAdam Hornacek * You may not use this file except in compliance with the License. 7b28a5538SAdam Hornacek * 8b28a5538SAdam Hornacek * See LICENSE.txt included in this distribution for the specific 9b28a5538SAdam Hornacek * language governing permissions and limitations under the License. 10b28a5538SAdam Hornacek * 11b28a5538SAdam Hornacek * When distributing Covered Code, include this CDDL HEADER in each 12b28a5538SAdam Hornacek * file and include the License file at LICENSE.txt. 13b28a5538SAdam Hornacek * If applicable, add the following below this CDDL HEADER, with the 14b28a5538SAdam Hornacek * fields enclosed by brackets "[]" replaced with your own identifying 15b28a5538SAdam Hornacek * information: Portions Copyright [yyyy] [name of copyright owner] 16b28a5538SAdam Hornacek * 17b28a5538SAdam Hornacek * CDDL HEADER END 18b28a5538SAdam Hornacek */ 19b28a5538SAdam Hornacek 20b28a5538SAdam Hornacek /* 21b28a5538SAdam Hornacek * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 22b28a5538SAdam Hornacek */ 23b28a5538SAdam Hornacek package opengrok.auth.plugin; 24b28a5538SAdam Hornacek 25b28a5538SAdam Hornacek import java.util.Map; 26b28a5538SAdam Hornacek import java.util.TreeMap; 27b28a5538SAdam Hornacek import opengrok.auth.plugin.entity.User; 28b28a5538SAdam Hornacek import org.junit.Assert; 29b28a5538SAdam Hornacek import org.junit.Before; 30b28a5538SAdam Hornacek import org.junit.Test; 31b28a5538SAdam Hornacek 32b28a5538SAdam Hornacek /** 33b28a5538SAdam Hornacek * 34b28a5538SAdam Hornacek * @author Vladimir Kotal 35b28a5538SAdam Hornacek */ 36b28a5538SAdam Hornacek public class LdapUserPluginTest { 37b28a5538SAdam Hornacek private LdapUserPlugin plugin; 38b28a5538SAdam Hornacek 39b28a5538SAdam Hornacek @Before setUp()40b28a5538SAdam Hornacek public void setUp() { 41b28a5538SAdam Hornacek plugin = new LdapUserPlugin(); 42b28a5538SAdam Hornacek } 43b28a5538SAdam Hornacek getParamsMap()44b28a5538SAdam Hornacek private Map<String, Object> getParamsMap() { 45b28a5538SAdam Hornacek Map<String, Object> params = new TreeMap<>(); 46b28a5538SAdam Hornacek params.put(AbstractLdapPlugin.CONFIGURATION_PARAM, 47b28a5538SAdam Hornacek getClass().getResource("config.xml").getFile()); 48b28a5538SAdam Hornacek 49b28a5538SAdam Hornacek return params; 50b28a5538SAdam Hornacek } 51b28a5538SAdam Hornacek 5253c33ae5SVladimir Kotal @Test(expected = NullPointerException.class) loadTestNegative1()53b28a5538SAdam Hornacek public void loadTestNegative1() { 54b28a5538SAdam Hornacek Map<String, Object> params = getParamsMap(); 55b28a5538SAdam Hornacek params.put("foo", (Object)"bar"); 56b28a5538SAdam Hornacek plugin.load(params); 57b28a5538SAdam Hornacek } 58b28a5538SAdam Hornacek 59b28a5538SAdam Hornacek @Test loadTestPositive()60*17b325b6SVladimir Kotal public void loadTestPositive() { 61b28a5538SAdam Hornacek Map<String, Object> params = getParamsMap(); 62b28a5538SAdam Hornacek params.put(LdapUserPlugin.ATTRIBUTES, (Object)"mail"); 63b28a5538SAdam Hornacek plugin.load(params); 64b28a5538SAdam Hornacek } 65b28a5538SAdam Hornacek 66b28a5538SAdam Hornacek @Test filterTest()6753c33ae5SVladimir Kotal public void filterTest() { 68b28a5538SAdam Hornacek Map<String, Object> params = getParamsMap(); 6953c33ae5SVladimir Kotal params.put(LdapUserPlugin.LDAP_FILTER, (Object) "(&(objectclass=person)(mail=%username%))"); 70b28a5538SAdam Hornacek params.put(LdapUserPlugin.ATTRIBUTES, (Object) "uid,mail"); 71b28a5538SAdam Hornacek plugin.load(params); 72b28a5538SAdam Hornacek 7353c33ae5SVladimir Kotal User user = new User("foo@bar.cz", "id", null, false); 7453c33ae5SVladimir Kotal String filter = plugin.expandFilter(user); 7553c33ae5SVladimir Kotal Assert.assertEquals("(&(objectclass=person)(mail=foo@bar.cz))", filter); 76b28a5538SAdam Hornacek } 77b28a5538SAdam Hornacek } 78