Resolve Bug:445 Remove freemarker from config code generator.
[controller.git] / opendaylight / config / yang-jmx-generator / src / test / java / org / opendaylight / controller / config / yangjmxgenerator / AbstractYangTest.java
index 1100b3543748cc89b7f26d4d521b7bf09712286f..76d97703af3722142bf361db63960fac77364d3d 100644 (file)
@@ -7,25 +7,29 @@
  */
 package org.opendaylight.controller.config.yangjmxgenerator;
 
-import static junit.framework.Assert.assertNotNull;
-import static junit.framework.Assert.format;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Sets;
+import org.junit.Assert;
 import org.junit.Before;
 import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.YangModelSearchUtils;
+import org.opendaylight.yangtools.sal.binding.yang.types.TypeProviderImpl;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
 
-import com.google.common.base.Preconditions;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.format;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
 
 public abstract class AbstractYangTest {
     protected SchemaContext context;
@@ -35,6 +39,14 @@ public abstract class AbstractYangTest {
             threadsJavaModule, bgpListenerJavaModule, ietfInetTypesModule,
             jmxModule, jmxImplModule, testFilesModule, testFiles1Module;
 
+    public static final String EVENTBUS_MXB_NAME = "eventbus";
+    public static final String ASYNC_EVENTBUS_MXB_NAME = "async-eventbus";
+    public static final String THREADFACTORY_NAMING_MXB_NAME = "threadfactory-naming";
+    public static final String THREADPOOL_DYNAMIC_MXB_NAME = "threadpool-dynamic";
+    public static final String THREADPOOL_REGISTRY_IMPL_NAME = "threadpool-registry-impl";
+
+    public static final String BGP_LISTENER_IMPL_MXB_NAME = "bgp-listener-impl";
+
     @Before
     public void loadYangFiles() throws Exception {
         List<InputStream> yangISs = new ArrayList<>();
@@ -97,4 +109,22 @@ public abstract class AbstractYangTest {
         }
         return result;
     }
+
+    protected Map<QName, ServiceInterfaceEntry>  loadThreadsServiceInterfaceEntries(String packageName) {
+        Map<IdentitySchemaNode, ServiceInterfaceEntry> identitiesToSIs = new HashMap<>();
+        return ServiceInterfaceEntry.create(threadsModule, packageName,identitiesToSIs);
+    }
+
+    protected Map<String /* identity local name */, ModuleMXBeanEntry> loadThreadsJava(Map<QName, ServiceInterfaceEntry> modulesToSIEs, String packageName) {
+        Map<String /* identity local name */, ModuleMXBeanEntry> namesToMBEs = ModuleMXBeanEntry
+                .create(threadsJavaModule, modulesToSIEs, context, new TypeProviderWrapper(new TypeProviderImpl
+                        (context)), packageName);
+        Assert.assertNotNull(namesToMBEs);
+        Set<String> expectedMXBeanNames = Sets.newHashSet(EVENTBUS_MXB_NAME,
+                ASYNC_EVENTBUS_MXB_NAME, THREADFACTORY_NAMING_MXB_NAME,
+                THREADPOOL_DYNAMIC_MXB_NAME, THREADPOOL_REGISTRY_IMPL_NAME);
+        assertThat(namesToMBEs.keySet(), is(expectedMXBeanNames));
+        return namesToMBEs;
+    }
+
 }