Move netconf{-client,impl,util} to protocol/
[netconf.git] / protocol / netconf-client / src / test / java / org / opendaylight / netconf / client / NetconfClientConfigurationTest.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.netconf.client;
10
11 import java.net.InetSocketAddress;
12 import java.util.Optional;
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;
21
22 public class NetconfClientConfigurationTest {
23     @Test
24     public void testNetconfClientConfiguration() throws Exception {
25         Long timeout = 200L;
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)
34                 .withAddress(address)
35                 .withConnectionTimeoutMillis(timeout)
36                 .withReconnectStrategy(strategy)
37                 .withAdditionalHeader(header)
38                 .withSessionListener(listener)
39                 .withAuthHandler(handler).build();
40
41         Assert.assertEquals(timeout, cfg.getConnectionTimeoutMillis());
42         Assert.assertEquals(Optional.of(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());
48
49         SslHandlerFactory sslHandlerFactory = Mockito.mock(SslHandlerFactory.class);
50         NetconfClientConfiguration cfg2 = NetconfClientConfigurationBuilder.create()
51                 .withProtocol(NetconfClientConfiguration.NetconfClientProtocol.TLS)
52                 .withAddress(address)
53                 .withConnectionTimeoutMillis(timeout)
54                 .withReconnectStrategy(strategy)
55                 .withAdditionalHeader(header)
56                 .withSessionListener(listener)
57                 .withSslHandlerFactory(sslHandlerFactory).build();
58
59         Assert.assertEquals(timeout, cfg2.getConnectionTimeoutMillis());
60         Assert.assertEquals(Optional.of(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());
66     }
67 }