7e4e0489882d7fe73237604c80ddbacb78c2d294
[controller.git] / opendaylight / netconf / config-persister-impl / src / test / java / org / opendaylight / controller / netconf / persist / impl / CapabilityStrippingConfigSnapshotHolderTest.java
1 /**
2  * @author Tomas Olvecky
3  *
4  * 11 2013
5  *
6  * Copyright (c) 2013 by Cisco Systems, Inc.
7  * All rights reserved.
8  */
9 package org.opendaylight.controller.netconf.persist.impl;
10
11 import com.google.common.collect.Sets;
12 import org.apache.commons.io.IOUtils;
13 import org.junit.Test;
14 import org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator;
15 import org.opendaylight.controller.netconf.util.xml.XmlUtil;
16 import org.w3c.dom.Element;
17
18 import java.io.IOException;
19 import java.util.Collections;
20 import java.util.HashSet;
21 import java.util.Set;
22 import java.util.regex.Pattern;
23
24 import static org.junit.Assert.assertEquals;
25
26 public class CapabilityStrippingConfigSnapshotHolderTest {
27
28     @Test
29     public void  testCapabilityStripping() throws Exception {
30         Set<String> allCapabilities = readLines("/capabilities-all.txt");
31         Set<String> expectedCapabilities = readLines("/capabilities-stripped.txt");
32         String snapshotAsString = readToString("/snapshot.xml");
33         Element element = XmlUtil.readXmlToElement(snapshotAsString);
34         {
35             CapabilityStrippingConfigSnapshotHolder tested = new CapabilityStrippingConfigSnapshotHolder(
36                     element, allCapabilities, Pattern.compile(
37                     ConfigPersisterActivator.DEFAULT_IGNORED_REGEX
38             ));
39             assertEquals(expectedCapabilities, tested.getCapabilities());
40             assertEquals(Collections.emptySet(), tested.getMissingNamespaces());
41         }
42         {
43             // test regex
44             CapabilityStrippingConfigSnapshotHolder tested = new CapabilityStrippingConfigSnapshotHolder(
45                     element, allCapabilities, Pattern.compile(
46                     "^bar"
47             ));
48             assertEquals(expectedCapabilities, tested.getCapabilities());
49             assertEquals(Sets.newHashSet(ConfigPersisterActivator.DEFAULT_IGNORED_REGEX.substring(1)),
50                     tested.getMissingNamespaces());
51         }
52     }
53
54     private Set<String> readLines(String fileName) throws IOException {
55         return new HashSet<>(IOUtils.readLines(getClass().getResourceAsStream(fileName)));
56     }
57
58     private String readToString(String fileName) throws IOException {
59         return IOUtils.toString(getClass().getResourceAsStream(fileName));
60     }
61
62 }