$YangModuleInfoImpl not generated for only extensions model
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / test / java / org / opendaylight / mdsal / binding / java / api / generator / test / BaseCompilationTest.java
index c0ca8d4263e36be239ad5250d2a20d9cc45f3150..0451fee258aea74372991917bd1801a3fd794903 100644 (file)
@@ -20,22 +20,18 @@ import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Optional;
 import java.util.function.Supplier;
-import org.junit.Before;
 import org.junit.BeforeClass;
-import org.opendaylight.mdsal.binding.generator.api.BindingGenerator;
-import org.opendaylight.mdsal.binding.generator.impl.BindingGeneratorImpl;
+import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator;
 import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
 import org.opendaylight.mdsal.binding.java.api.generator.YangModuleInfoTemplate;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public abstract class BaseCompilationTest {
 
-    protected BindingGenerator bindingGenerator;
-
     @BeforeClass
     public static void createTestDirs() {
         if (CompilationTestUtils.TEST_DIR.exists()) {
@@ -45,11 +41,6 @@ public abstract class BaseCompilationTest {
         assertTrue(CompilationTestUtils.COMPILER_OUTPUT_DIR.mkdirs());
     }
 
-    @Before
-    public void init() {
-        bindingGenerator = new BindingGeneratorImpl();
-    }
-
     protected static final void generateTestSources(final List<Type> types, final File sourcesOutputDir)
             throws IOException {
         types.sort((o1, o2) -> o2.getName().compareTo(o1.getName()));
@@ -63,11 +54,11 @@ public abstract class BaseCompilationTest {
         }
     }
 
-    protected final List<Type> generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
+    protected static final List<Type> generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
             throws IOException, URISyntaxException {
         final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
-        final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
-        final List<Type> types = bindingGenerator.generateTypes(context);
+        final EffectiveModelContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
+        final List<Type> types = new DefaultBindingGenerator().generateTypes(context);
         generateTestSources(types, sourcesOutputDir);
 
         // Also generate YangModuleInfo
@@ -78,6 +69,7 @@ public abstract class BaseCompilationTest {
             final File file = new File(GeneratorJavaFile.packageToDirectory(sourcesOutputDir,
                 BindingMapping.getRootPackageName(module.getQNameModule())),
                 BindingMapping.MODULE_INFO_CLASS_NAME + ".java");
+            Files.createParentDirs(file);
             Files.asCharSink(file, StandardCharsets.UTF_8).write(template.generate());
         }