X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2FNetconfMappingTest.java;h=ec09cfa7a9c17d6a78639072041baa8b8d391add;hp=47bdcd8cc854bc82c606d24f82064de532571c53;hb=cd50f92c60580b546a696aab7c3ff4fbf3f9a5f0;hpb=b7d8a21f10a37c78345748bd70780a405842249d diff --git a/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java b/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java index 47bdcd8cc8..ec09cfa7a9 100644 --- a/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java +++ b/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java @@ -26,6 +26,8 @@ import static org.opendaylight.controller.netconf.util.xml.XmlUtil.readXmlToElem import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -92,6 +94,7 @@ import org.opendaylight.controller.netconf.confignetconfconnector.operations.edi import org.opendaylight.controller.netconf.confignetconfconnector.operations.get.Get; import org.opendaylight.controller.netconf.confignetconfconnector.operations.getconfig.GetConfig; import org.opendaylight.controller.netconf.confignetconfconnector.operations.runtimerpc.RuntimeRpc; +import org.opendaylight.controller.netconf.confignetconfconnector.osgi.EnumResolver; import org.opendaylight.controller.netconf.confignetconfconnector.osgi.YangStoreContext; import org.opendaylight.controller.netconf.confignetconfconnector.osgi.YangStoreService; import org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider; @@ -162,6 +165,19 @@ public class NetconfMappingTest extends AbstractConfigTest { doReturn(getMbes()).when(this.yangStoreSnapshot).getModuleMXBeanEntryMap(); doReturn(getModules()).when(this.yangStoreSnapshot).getModules(); + doReturn(new EnumResolver() { + @Override + public String fromYang(final String enumType, final String enumYangValue) { + return Preconditions.checkNotNull(getEnumMapping().get(enumYangValue), + "Unable to resolve enum value %s, for enum %s with mappings %s", enumYangValue, enumType, getEnumMapping()); + } + + @Override + public String toYang(final String enumType, final String enumYangValue) { + return Preconditions.checkNotNull(getEnumMapping().inverse().get(enumYangValue), + "Unable to resolve enum value %s, for enum %s with mappings %s", enumYangValue, enumType, getEnumMapping().inverse()); + } + }).when(this.yangStoreSnapshot).getEnumResolver(); this.factory = new NetconfTestImplModuleFactory(); this.factory2 = new DepTestImplModuleFactory(); @@ -601,9 +617,9 @@ public class NetconfMappingTest extends AbstractConfigTest { // Default assertContainsElement(response, readXmlToElement("2")); - assertContainsElement(response, readXmlToElement("TWO")); + assertContainsElement(response, readXmlToElement("two")); // Default - assertContainsElement(response, readXmlToElement("ONE")); + assertContainsElement(response, readXmlToElement("one")); } private void assertContainsString(String string, String substring) { @@ -612,7 +628,7 @@ public class NetconfMappingTest extends AbstractConfigTest { private void checkEnum(final Document response) throws Exception { - String expectedEnumContent = "TWO"; + String expectedEnumContent = "two"; XMLAssert.assertXpathEvaluatesTo(expectedEnumContent, getXpathForNetconfImplSubnode(INSTANCE_NAME,"extended-enum"), @@ -657,11 +673,22 @@ public class NetconfMappingTest extends AbstractConfigTest { return schemaContext ; } }, mockedContext); + final BindingRuntimeContext bindingRuntimeContext = mock(BindingRuntimeContext.class); + doReturn(getEnumMapping()).when(bindingRuntimeContext).getEnumMapping(any(Class.class)); + yangStoreService.refresh(bindingRuntimeContext); mBeanEntries.putAll(yangStoreService.getModuleMXBeanEntryMap()); return mBeanEntries; } + private BiMap getEnumMapping() { + final HashBiMap enumBiMap = HashBiMap.create(); + // Enum constants mapping from yang -> Java and back + enumBiMap.put("one", "One"); + enumBiMap.put("two", "Two"); + return enumBiMap; + } + private Set getModules() throws Exception { SchemaContext resolveSchemaContext = getSchemaContext(); return resolveSchemaContext.getModules();