2 * Copyright (c) 2013 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
8 package org.opendaylight.controller.netconf.persist.impl;
10 import com.google.common.collect.Sets;
11 import org.apache.commons.io.IOUtils;
12 import org.junit.Test;
13 import org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator;
14 import org.opendaylight.controller.netconf.util.xml.XmlUtil;
15 import org.w3c.dom.Element;
17 import java.io.IOException;
18 import java.util.Collections;
19 import java.util.HashSet;
21 import java.util.regex.Pattern;
23 import static org.junit.Assert.assertEquals;
25 public class CapabilityStrippingConfigSnapshotHolderTest {
28 public void testCapabilityStripping() throws Exception {
29 Set<String> allCapabilities = readLines("/capabilities-all.txt");
30 Set<String> expectedCapabilities = readLines("/capabilities-stripped.txt");
31 String snapshotAsString = readToString("/snapshot.xml");
32 Element element = XmlUtil.readXmlToElement(snapshotAsString);
34 CapabilityStrippingConfigSnapshotHolder tested = new CapabilityStrippingConfigSnapshotHolder(
35 element, allCapabilities, Pattern.compile(
36 ConfigPersisterActivator.DEFAULT_IGNORED_REGEX
38 assertEquals(expectedCapabilities, tested.getCapabilities());
39 assertEquals(Collections.emptySet(), tested.getMissingNamespaces());
43 CapabilityStrippingConfigSnapshotHolder tested = new CapabilityStrippingConfigSnapshotHolder(
44 element, allCapabilities, Pattern.compile(
47 assertEquals(expectedCapabilities, tested.getCapabilities());
48 assertEquals(Sets.newHashSet(ConfigPersisterActivator.DEFAULT_IGNORED_REGEX.substring(1)),
49 tested.getMissingNamespaces());
53 private Set<String> readLines(String fileName) throws IOException {
54 return new HashSet<>(IOUtils.readLines(getClass().getResourceAsStream(fileName)));
57 private String readToString(String fileName) throws IOException {
58 return IOUtils.toString(getClass().getResourceAsStream(fileName));