d0d84b46c6baed52e3dd18b6dd40fe388e929ccb
[appc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * APPC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * Copyright (C) 2017 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21  */
22
23 package org.openecomp.appc.adapter.netconf.jsch;
24
25 import java.util.Collections;
26 import java.util.List;
27
28 import org.openecomp.appc.adapter.netconf.NetconfConnectionDetails;
29 import org.openecomp.appc.adapter.netconf.jsch.NetconfClientJsch;
30 import org.openecomp.appc.exceptions.APPCException;
31
32 public class TestModifyConfigRouterMock {
33
34     private static final String HOST = "10.147.27.50"; // yuma netconf simulator
35     private static final int PORT = 830;
36     private static final String USER = "admin";
37     private static final String PSWD = "admin";
38     private static final List<String> CAPABILITIES = Collections.emptyList();
39     private static final String CONFIG =
40             "<rpc message-id=\"101\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n" +
41             "  <edit-config>\n" +
42             "    <target>\n" +
43             "      <candidate/>\n" +
44             "    </target>\n" +
45             "    <config xmlns:xc=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n" +
46             "      <router xmlns=\"urn:sdnhub:odl:tutorial:router\">\n" +
47             "        <ospf>\n" +
48             "          <process-id>1</process-id>\n" +
49             "          <networks>\n" +
50             "            <subnet-ip>100.100.100.0/24</subnet-ip>\n" +
51             "            <area-id>10</area-id>\n" +
52             "          </networks>\n" +
53             "        </ospf>\n" +
54             "        <bgp>\n" +
55             "          <as-number>1000</as-number>\n" +
56             "          <router-id>10.10.1.1</router-id>\n" +
57             "          <neighbors>\n" +
58             "            <as-number>2000</as-number>\n" +
59             "            <peer-ip>10.10.1.2</peer-ip>\n" +
60             "          </neighbors>\n" +
61             "        </bgp>\n" +
62             "      </router>\n" +
63             "    </config>\n" +
64             "  </edit-config>\n" +
65             "</rpc>\n";
66
67     public static void main(String[] args) throws APPCException {
68         try {
69             NetconfConnectionDetails connectionDetails = new NetconfConnectionDetails();
70             connectionDetails.setHost(HOST);
71             connectionDetails.setPort(PORT);
72             connectionDetails.setUsername(USER);
73             connectionDetails.setPassword(PSWD);
74             connectionDetails.setCapabilities(CAPABILITIES);
75             NetconfClientJsch netconfClientJsch = new NetconfClientJsch();
76             netconfClientJsch.connect(connectionDetails);
77             try {
78                 System.out.println("=> Running get configuration...");
79                 String configuration = netconfClientJsch.getConfiguration();
80                 System.out.println("=> Configuration:\n" + configuration);
81
82                 System.out.println("=> Reconfiguring device...");
83                 String outMessage = netconfClientJsch.exchangeMessage(CONFIG);
84                 System.out.println("=> Reconfiguration response:\n" + outMessage);
85             } finally {
86                 netconfClientJsch.disconnect();
87             }
88         } catch(Exception e) {
89             e.printStackTrace();
90         }
91     }
92 }