2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netconf.client;
11 import com.google.common.base.Optional;
12 import java.net.InetSocketAddress;
13 import org.junit.Assert;
14 import org.junit.Test;
15 import org.mockito.Mockito;
16 import org.opendaylight.netconf.api.messages.NetconfHelloMessageAdditionalHeader;
17 import org.opendaylight.netconf.client.conf.NetconfClientConfiguration;
18 import org.opendaylight.netconf.client.conf.NetconfClientConfigurationBuilder;
19 import org.opendaylight.netconf.nettyutil.ReconnectStrategy;
20 import org.opendaylight.netconf.nettyutil.handler.ssh.authentication.AuthenticationHandler;
22 public class NetconfClientConfigurationTest {
24 public void testNetconfClientConfiguration() throws Exception {
26 NetconfHelloMessageAdditionalHeader header =
27 new NetconfHelloMessageAdditionalHeader("a", "host", "port", "trans", "id");
28 NetconfClientSessionListener listener = new SimpleNetconfClientSessionListener();
29 InetSocketAddress address = InetSocketAddress.createUnresolved("host", 830);
30 ReconnectStrategy strategy = Mockito.mock(ReconnectStrategy.class);
31 AuthenticationHandler handler = Mockito.mock(AuthenticationHandler.class);
32 NetconfClientConfiguration cfg = NetconfClientConfigurationBuilder.create()
33 .withProtocol(NetconfClientConfiguration.NetconfClientProtocol.SSH)
35 .withConnectionTimeoutMillis(timeout)
36 .withReconnectStrategy(strategy)
37 .withAdditionalHeader(header)
38 .withSessionListener(listener)
39 .withAuthHandler(handler).build();
41 Assert.assertEquals(timeout, cfg.getConnectionTimeoutMillis());
42 Assert.assertEquals(Optional.fromNullable(header), cfg.getAdditionalHeader());
43 Assert.assertEquals(listener, cfg.getSessionListener());
44 Assert.assertEquals(handler, cfg.getAuthHandler());
45 Assert.assertEquals(strategy, cfg.getReconnectStrategy());
46 Assert.assertEquals(NetconfClientConfiguration.NetconfClientProtocol.SSH, cfg.getProtocol());
47 Assert.assertEquals(address, cfg.getAddress());
49 SslHandlerFactory sslHandlerFactory = Mockito.mock(SslHandlerFactory.class);
50 NetconfClientConfiguration cfg2 = NetconfClientConfigurationBuilder.create()
51 .withProtocol(NetconfClientConfiguration.NetconfClientProtocol.TLS)
53 .withConnectionTimeoutMillis(timeout)
54 .withReconnectStrategy(strategy)
55 .withAdditionalHeader(header)
56 .withSessionListener(listener)
57 .withSslHandlerFactory(sslHandlerFactory).build();
59 Assert.assertEquals(timeout, cfg2.getConnectionTimeoutMillis());
60 Assert.assertEquals(Optional.fromNullable(header), cfg2.getAdditionalHeader());
61 Assert.assertEquals(listener, cfg2.getSessionListener());
62 Assert.assertEquals(sslHandlerFactory, cfg2.getSslHandlerFactory());
63 Assert.assertEquals(strategy, cfg2.getReconnectStrategy());
64 Assert.assertEquals(NetconfClientConfiguration.NetconfClientProtocol.TLS, cfg2.getProtocol());
65 Assert.assertEquals(address, cfg2.getAddress());