Port-mapping functional tests for 7.1 transponder
[transportpce.git] / tests / netconf.patch
1 diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/SimulatedOperationProvider.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/SimulatedOperationProvider.java
2 index f2828d1..d3026b8 100644
3 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/SimulatedOperationProvider.java
4 +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/SimulatedOperationProvider.java
5 @@ -26,6 +26,7 @@ import org.opendaylight.netconf.test.tool.rpc.SimulatedDiscardChanges;
6  import org.opendaylight.netconf.test.tool.rpc.SimulatedEditConfig;
7  import org.opendaylight.netconf.test.tool.rpc.SimulatedGet;
8  import org.opendaylight.netconf.test.tool.rpc.SimulatedGetConfig;
9 +import org.opendaylight.netconf.test.tool.rpc.SimulatedGetConnectionPortTrail;
10  import org.opendaylight.netconf.test.tool.rpc.SimulatedLock;
11  import org.opendaylight.netconf.test.tool.rpc.SimulatedUnLock;
12  
13 @@ -38,19 +39,19 @@ class SimulatedOperationProvider implements NetconfOperationServiceFactory {
14                                 final Optional<File> notificationsFile,
15                                 final Optional<File> initialConfigXMLFile) {
16          this.caps = caps;
17 -        simulatedOperationService = new SimulatedOperationService(
18 +        this.simulatedOperationService = new SimulatedOperationService(
19              idProvider.getCurrentSessionId(), notificationsFile, initialConfigXMLFile);
20      }
21  
22      @Override
23      public Set<Capability> getCapabilities() {
24 -        return caps;
25 +        return this.caps;
26      }
27  
28      @Override
29      public AutoCloseable registerCapabilityListener(
30              final CapabilityListener listener) {
31 -        listener.onCapabilitiesChanged(caps, Collections.emptySet());
32 +        listener.onCapabilitiesChanged(this.caps, Collections.emptySet());
33          return () -> {
34          };
35      }
36 @@ -58,7 +59,7 @@ class SimulatedOperationProvider implements NetconfOperationServiceFactory {
37      @Override
38      public NetconfOperationService createService(
39              final String netconfSessionIdForReporting) {
40 -        return simulatedOperationService;
41 +        return this.simulatedOperationService;
42      }
43  
44      static class SimulatedOperationService implements NetconfOperationService {
45 @@ -76,19 +77,24 @@ class SimulatedOperationProvider implements NetconfOperationServiceFactory {
46          @Override
47          public Set<NetconfOperation> getNetconfOperations() {
48              final DataList storage = new DataList();
49 -            final SimulatedGet sGet = new SimulatedGet(String.valueOf(currentSessionId), storage);
50 -            final SimulatedEditConfig sEditConfig = new SimulatedEditConfig(String.valueOf(currentSessionId), storage);
51 +            final SimulatedGet sGet = new SimulatedGet(String.valueOf(this.currentSessionId), storage,
52 +                    this.initialConfigXMLFile);
53 +            final SimulatedEditConfig sEditConfig = new SimulatedEditConfig(String.valueOf(this.currentSessionId),
54 +                    storage);
55              final SimulatedGetConfig sGetConfig = new SimulatedGetConfig(
56 -                String.valueOf(currentSessionId), storage, initialConfigXMLFile);
57 -            final SimulatedCommit sCommit = new SimulatedCommit(String.valueOf(currentSessionId));
58 -            final SimulatedLock sLock = new SimulatedLock(String.valueOf(currentSessionId));
59 -            final SimulatedUnLock sUnlock = new SimulatedUnLock(String.valueOf(currentSessionId));
60 +                String.valueOf(this.currentSessionId), storage, this.initialConfigXMLFile);
61 +            final SimulatedGetConnectionPortTrail sSimulatedConnectionPortTrail = new SimulatedGetConnectionPortTrail(
62 +                    String.valueOf(this.currentSessionId));
63 +            final SimulatedCommit sCommit = new SimulatedCommit(String.valueOf(this.currentSessionId));
64 +            final SimulatedLock sLock = new SimulatedLock(String.valueOf(this.currentSessionId));
65 +            final SimulatedUnLock sUnlock = new SimulatedUnLock(String.valueOf(this.currentSessionId));
66              final SimulatedCreateSubscription sCreateSubs = new SimulatedCreateSubscription(
67 -                    String.valueOf(currentSessionId), notificationsFile);
68 +                    String.valueOf(this.currentSessionId), this.notificationsFile);
69              final SimulatedDiscardChanges sDiscardChanges = new SimulatedDiscardChanges(
70 -                String.valueOf(currentSessionId));
71 +                String.valueOf(this.currentSessionId));
72              return Sets.newHashSet(
73 -                sGet, sGetConfig, sEditConfig, sCommit, sLock, sUnlock, sCreateSubs, sDiscardChanges);
74 +                sGet, sGetConfig, sEditConfig, sCommit, sLock, sUnlock, sCreateSubs, sDiscardChanges,
75 +                sSimulatedConnectionPortTrail);
76          }
77  
78          @Override
79 diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/config/Configuration.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/config/Configuration.java
80 index 6654425..d5bebd6 100644
81 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/config/Configuration.java
82 +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/config/Configuration.java
83 @@ -95,7 +95,7 @@ public class Configuration {
84      }
85  
86      public PublickeyAuthenticator getPublickeyAuthenticator() {
87 -        return publickeyAuthenticator;
88 +        return this.publickeyAuthenticator;
89      }
90  
91      public void setPublickeyAuthenticator(final PublickeyAuthenticator publickeyAuthenticator) {
92 @@ -103,7 +103,7 @@ public class Configuration {
93      }
94  
95      public AuthProvider getAuthProvider() {
96 -        return authProvider;
97 +        return this.authProvider;
98      }
99  
100      public void setAuthProvider(final AuthProvider authProvider) {
101 @@ -111,7 +111,7 @@ public class Configuration {
102      }
103  
104      public Set<YangResource> getDefaultYangResources() {
105 -        return defaultYangResources;
106 +        return this.defaultYangResources;
107      }
108  
109      public void setDefaultYangResources(final Set<YangResource> defaultYangResources) {
110 @@ -119,7 +119,7 @@ public class Configuration {
111      }
112  
113      public int getThreadPoolSize() {
114 -        return threadPoolSize;
115 +        return this.threadPoolSize;
116      }
117  
118      public void setThreadPoolSize(final int threadPoolSize) {
119 @@ -127,7 +127,7 @@ public class Configuration {
120      }
121  
122      public int getStartingPort() {
123 -        return startingPort;
124 +        return this.startingPort;
125      }
126  
127      public void setStartingPort(final int startingPort) {
128 @@ -135,7 +135,7 @@ public class Configuration {
129      }
130  
131      public int getDeviceCount() {
132 -        return deviceCount;
133 +        return this.deviceCount;
134      }
135  
136      public void setDeviceCount(final int deviceCount) {
137 @@ -143,7 +143,7 @@ public class Configuration {
138      }
139  
140      public int getGenerateConfigsTimeout() {
141 -        return generateConfigsTimeout;
142 +        return this.generateConfigsTimeout;
143      }
144  
145      public void setGenerateConfigsTimeout(final int generateConfigsTimeout) {
146 @@ -151,7 +151,7 @@ public class Configuration {
147      }
148  
149      public boolean isSsh() {
150 -        return ssh;
151 +        return this.ssh;
152      }
153  
154      public void setSsh(final boolean ssh) {
155 @@ -159,7 +159,7 @@ public class Configuration {
156      }
157  
158      public String getIp() {
159 -        return ip;
160 +        return this.ip;
161      }
162  
163      public void setIp(final String ip) {
164 @@ -167,7 +167,7 @@ public class Configuration {
165      }
166  
167      public Set<String> getModels() {
168 -        return models;
169 +        return this.models;
170      }
171  
172      public void setModels(final Set<String> models) {
173 @@ -175,7 +175,7 @@ public class Configuration {
174      }
175  
176      public Set<String> getCapabilities() {
177 -        return capabilities;
178 +        return this.capabilities;
179      }
180  
181      public void setCapabilities(final Set<String> capabilities) {
182 @@ -183,7 +183,7 @@ public class Configuration {
183      }
184  
185      public RpcHandler getRpcHandler() {
186 -        return rpcHandler;
187 +        return this.rpcHandler;
188      }
189  
190      public void setRpcHandler(final RpcHandler rpcHandler) {
191 @@ -191,7 +191,7 @@ public class Configuration {
192      }
193  
194      public OperationsCreator getOperationsCreator() {
195 -        return operationsCreator;
196 +        return this.operationsCreator;
197      }
198  
199      public void setOperationsCreator(final OperationsCreator operationsCreator) {
200 @@ -200,7 +200,7 @@ public class Configuration {
201  
202      @Deprecated
203      public boolean isMdSal() {
204 -        return mdSal;
205 +        return this.mdSal;
206      }
207  
208      @Deprecated
209 @@ -210,7 +210,7 @@ public class Configuration {
210  
211      @Deprecated
212      public File getRpcConfigFile() {
213 -        return rpcConfigFile;
214 +        return this.rpcConfigFile;
215      }
216  
217      @Deprecated
218 @@ -220,7 +220,7 @@ public class Configuration {
219  
220      @Deprecated
221      public File getNotificationFile() {
222 -        return notificationFile;
223 +        return this.notificationFile;
224      }
225  
226      @Deprecated
227 @@ -230,7 +230,7 @@ public class Configuration {
228  
229      @Deprecated
230      public File getInitialConfigXMLFile() {
231 -        return initialConfigXMLFile;
232 +        return this.initialConfigXMLFile;
233      }
234  
235      @Deprecated
236 @@ -240,12 +240,12 @@ public class Configuration {
237  
238      @Deprecated
239      public boolean isXmlConfigurationProvided() {
240 -        return initialConfigXMLFile != null && notificationFile != null;
241 +        return this.initialConfigXMLFile != null;//&& notificationFile != null;
242      }
243  
244      @Deprecated
245      public File getSchemasDir() {
246 -        return schemasDir;
247 +        return this.schemasDir;
248      }
249  
250      @Deprecated
251 diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/operations/DefaultOperationsCreator.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/operations/DefaultOperationsCreator.java
252 index edfdf6e..0bc0b9d 100644
253 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/operations/DefaultOperationsCreator.java
254 +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/operations/DefaultOperationsCreator.java
255 @@ -30,14 +30,14 @@ public final class DefaultOperationsCreator implements OperationsCreator {
256      private final SimulatedOperationService simulatedOperationService;
257  
258      private DefaultOperationsCreator(final long currentSessionId) {
259 -        simulatedOperationService = new SimulatedOperationService(currentSessionId);
260 +        this.simulatedOperationService = new SimulatedOperationService(currentSessionId);
261      }
262  
263      @Override
264      public NetconfOperationService getNetconfOperationService(final Set<Capability> caps,
265          final SessionIdProvider idProvider,
266          final String netconfSessionIdForReporting) {
267 -        return simulatedOperationService;
268 +        return this.simulatedOperationService;
269      }
270  
271      public static DefaultOperationsCreator getDefaultOperationServiceCreator(final long currentSessionId) {
272 @@ -55,17 +55,19 @@ public final class DefaultOperationsCreator implements OperationsCreator {
273          @Override
274          public Set<NetconfOperation> getNetconfOperations() {
275              final DataList storage = new DataList();
276 -            final SimulatedGet sGet = new SimulatedGet(String.valueOf(currentSessionId), storage);
277 -            final SimulatedEditConfig sEditConfig = new SimulatedEditConfig(String.valueOf(currentSessionId), storage);
278 +            final SimulatedGet sGet = new SimulatedGet(String.valueOf(this.currentSessionId), storage,
279 +                    Optional.absent());
280 +            final SimulatedEditConfig sEditConfig = new SimulatedEditConfig(String.valueOf(this.currentSessionId),
281 +                    storage);
282              final SimulatedGetConfig sGetConfig = new SimulatedGetConfig(
283 -                String.valueOf(currentSessionId), storage, Optional.absent());
284 -            final SimulatedCommit sCommit = new SimulatedCommit(String.valueOf(currentSessionId));
285 -            final SimulatedLock sLock = new SimulatedLock(String.valueOf(currentSessionId));
286 -            final SimulatedUnLock sUnlock = new SimulatedUnLock(String.valueOf(currentSessionId));
287 +                String.valueOf(this.currentSessionId), storage, Optional.absent());
288 +            final SimulatedCommit sCommit = new SimulatedCommit(String.valueOf(this.currentSessionId));
289 +            final SimulatedLock sLock = new SimulatedLock(String.valueOf(this.currentSessionId));
290 +            final SimulatedUnLock sUnlock = new SimulatedUnLock(String.valueOf(this.currentSessionId));
291              final SimulatedCreateSubscription sCreateSubs = new SimulatedCreateSubscription(
292 -                String.valueOf(currentSessionId), Optional.absent());
293 +                String.valueOf(this.currentSessionId), Optional.absent());
294              final SimulatedDiscardChanges sDiscardChanges = new SimulatedDiscardChanges(
295 -                String.valueOf(currentSessionId));
296 +                String.valueOf(this.currentSessionId));
297              return Sets.newHashSet(
298                  sGet, sGetConfig, sEditConfig, sCommit, sLock, sUnlock, sCreateSubs, sDiscardChanges);
299          }
300 diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGet.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGet.java
301 index e5b197d..92f71fc 100644
302 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGet.java
303 +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGet.java
304 @@ -9,27 +9,62 @@
305  package org.opendaylight.netconf.test.tool.rpc;
306  
307  import com.google.common.base.Optional;
308 +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
309 +import java.io.File;
310 +import java.io.IOException;
311 +import java.util.Collections;
312 +import java.util.List;
313  import org.opendaylight.netconf.api.xml.XmlElement;
314  import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
315  import org.opendaylight.netconf.api.xml.XmlUtil;
316  import org.opendaylight.netconf.util.mapping.AbstractLastNetconfOperation;
317 +import org.slf4j.Logger;
318 +import org.slf4j.LoggerFactory;
319  import org.w3c.dom.Document;
320  import org.w3c.dom.Element;
321 +import org.xml.sax.SAXException;
322  
323  public class SimulatedGet extends AbstractLastNetconfOperation {
324  
325      private final DataList storage;
326 +    private static final Logger LOG = LoggerFactory.getLogger(SimulatedGet.class);
327  
328 -    public SimulatedGet(final String netconfSessionIdForReporting, final DataList storage) {
329 +    public SimulatedGet(final String netconfSessionIdForReporting, final DataList storage,
330 +            final Optional<File> initialConfigXMLFile) {
331          super(netconfSessionIdForReporting);
332 -        this.storage = storage;
333 +
334 +        if (initialConfigXMLFile.isPresent()) {
335 +            LOG.info("File is present: {}", initialConfigXMLFile.get().getName());
336 +            this.storage = loadInitialConfigXMLFile(initialConfigXMLFile.get());
337 +        } else {
338 +            this.storage = storage;
339 +        }
340 +    }
341 +
342 +    @SuppressFBWarnings(value = "DLS_DEAD_LOCAL_STORE")
343 +    private DataList loadInitialConfigXMLFile(final File file) {
344 +        LOG.info("Loading initial config xml file: {}", file.getName());
345 +        DataList configData = new DataList();
346 +        List<XmlElement> xmlElementList = Collections.emptyList();
347 +        try {
348 +            Element element = XmlUtil.readXmlToElement(file);
349 +            XmlElement xmlElement = XmlElement.fromDomElement(element);
350 +            xmlElementList = xmlElement.getChildElements();
351 +            configData.setConfigList(xmlElementList);
352 +        } catch (IOException e) {
353 +            LOG.info("IO exception loading xml file: {} ", e.getMessage());
354 +
355 +        } catch (SAXException e) {
356 +            LOG.info("SAXException {}", e.getMessage());
357 +        }
358 +        return configData;
359      }
360  
361      @Override
362      protected Element handleWithNoSubsequentOperations(final Document document, final XmlElement operationElement) {
363          final Element element = XmlUtil.createElement(document, XmlNetconfConstants.DATA_KEY, Optional.absent());
364  
365 -        for (final XmlElement e : storage.getConfigList()) {
366 +        for (final XmlElement e : this.storage.getConfigList()) {
367              final Element domElement = e.getDomElement();
368              element.appendChild(element.getOwnerDocument().importNode(domElement, true));
369          }
370 diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGetConnectionPortTrail.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGetConnectionPortTrail.java
371 new file mode 100644
372 index 0000000..551eb71
373 --- /dev/null
374 +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/rpc/SimulatedGetConnectionPortTrail.java
375 @@ -0,0 +1,42 @@
376 +/*
377 + * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
378 + *
379 + * This program and the accompanying materials are made available under the
380 + * terms of the Eclipse Public License v1.0 which accompanies this distribution,
381 + * and is available at http://www.eclipse.org/legal/epl-v10.html
382 + */
383 +package org.opendaylight.netconf.test.tool.rpc;
384 +
385 +import org.opendaylight.netconf.api.DocumentedException;
386 +import org.opendaylight.netconf.api.xml.XmlElement;
387 +import org.opendaylight.netconf.util.mapping.AbstractLastNetconfOperation;
388 +import org.w3c.dom.Document;
389 +import org.w3c.dom.Element;
390 +
391 +public class SimulatedGetConnectionPortTrail extends AbstractLastNetconfOperation {
392 +
393 +    public SimulatedGetConnectionPortTrail(final String netconfSessionIdForReporting) {
394 +        super(netconfSessionIdForReporting);
395 +    }
396 +
397 +    @Override
398 +    protected Element handleWithNoSubsequentOperations(Document document, XmlElement operationElement)
399 +            throws DocumentedException {
400 +        Element portname = document.createElement("port-name");
401 +        portname.appendChild(document.createTextNode("L1"));
402 +        Element circuitpackname = document.createElement("circuit-pack-name");
403 +        circuitpackname.appendChild(document.createTextNode("2/0"));
404 +        Element ports = document.createElement("ports");
405 +        ports.setAttribute("xmlns", "http://org/openroadm/device");
406 +        ports.appendChild(portname);
407 +        ports.appendChild(circuitpackname);
408 +        return ports;
409 +    }
410 +
411 +    @Override
412 +    protected String getOperationName() {
413 +        return "get-connection-port-trail";
414 +    }
415 +
416 +
417 +}