aboutsummaryrefslogtreecommitdiffstats
path: root/odl-aaa-moon/aaa/aaa-authn/src/test/java/org/opendaylight/aaa/ClientManagerTest.java
blob: 059ba9a3aa60317f926145bcd86afc347a8786ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
 * Copyright (c) 2014, 2015 Hewlett-Packard Development Company, L.P. and others.  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
 */

package org.opendaylight.aaa;

import static org.junit.Assert.fail;

import java.util.Dictionary;
import java.util.Hashtable;
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.aaa.api.AuthenticationException;
import org.osgi.service.cm.ConfigurationException;

/**
 *
 * @author liemmn
 *
 */
public class ClientManagerTest {
    private static final ClientManager cm = new ClientManager();

    @Before
    public void setup() throws ConfigurationException {
        cm.init(null);
    }

    @Test
    public void testValidate() {
        cm.validate("dlux", "secrete");
    }

    @Test(expected = AuthenticationException.class)
    public void testFailValidate() {
        cm.validate("dlux", "what?");
    }

    @Test
    public void testUpdate() throws ConfigurationException {
        Dictionary<String, String> configs = new Hashtable<>();
        configs.put(ClientManager.CLIENTS, "aws:amazon dlux:xxx");
        cm.updated(configs);
        cm.validate("aws", "amazon");
        cm.validate("dlux", "xxx");
    }

    @Test
    public void testFailUpdate() {
        Dictionary<String, String> configs = new Hashtable<>();
        configs.put(ClientManager.CLIENTS, "aws:amazon dlux");
        try {
            cm.updated(configs);
            fail("Shoulda failed updating bad configuration");
        } catch (ConfigurationException ce) {
            // Expected
        }
        cm.validate("dlux", "secrete");
        try {
            cm.validate("aws", "amazon");
            fail("Shoulda failed updating bad configuration");
        } catch (AuthenticationException ae) {
            // Expected
        }
    }
}