Remove yang.binding.RpcService
[mdsal.git] / binding / mdsal-binding-generator / src / test / java / org / opendaylight / mdsal / binding / generator / impl / Mdsal810Test.java
1 /*
2  * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.binding.generator.impl;
9
10 import static org.junit.Assert.assertEquals;
11
12 import java.util.List;
13 import org.junit.Test;
14 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
15
16 public class Mdsal810Test {
17     @Test
18     public void testKeyConflict() {
19         assertGeneratedNames("key-conflict.yang",
20             "org.opendaylight.yang.gen.v1.key.conflict.norev.KeyConflictData",
21             "org.opendaylight.yang.gen.v1.key.conflict.norev.Foo$LI",
22             "org.opendaylight.yang.gen.v1.key.conflict.norev.Foo$LIKey",
23             "org.opendaylight.yang.gen.v1.key.conflict.norev.FooKey$CO");
24     }
25
26     @Test
27     public void testListenerConflict() {
28         assertGeneratedNames("listener-conflict.yang",
29             "org.opendaylight.yang.gen.v1.listener.conflict.norev.ListenerConflictData",
30             "org.opendaylight.yang.gen.v1.listener.conflict.norev.ListenerConflictListener$CO",
31             "org.opendaylight.yang.gen.v1.listener.conflict.norev.Bar",
32             "org.opendaylight.yang.gen.v1.listener.conflict.norev.ListenerConflictListener");
33     }
34
35     @Test
36     public void testRootConflict() {
37         assertGeneratedNames("root-conflict.yang",
38             "org.opendaylight.yang.gen.v1.root.conflict.norev.RootConflictData",
39             "org.opendaylight.yang.gen.v1.root.conflict.norev.RootConflictData$CO");
40     }
41
42     @Test
43     public void testServiceConflict() {
44         assertGeneratedNames("service-conflict.yang",
45             "org.opendaylight.yang.gen.v1.service.conflict.norev.ServiceConflictData",
46             "org.opendaylight.yang.gen.v1.service.conflict.norev.ServiceConflictService",
47             "org.opendaylight.yang.gen.v1.service.conflict.norev.Bar",
48             "org.opendaylight.yang.gen.v1.service.conflict.norev.BarInput",
49             "org.opendaylight.yang.gen.v1.service.conflict.norev.BarOutput");
50     }
51
52     @Test
53     public void testInputOutputConflict() {
54         assertGeneratedNames("io-conflict.yang",
55             "org.opendaylight.yang.gen.v1.io.conflict.norev.IoConflictData",
56             "org.opendaylight.yang.gen.v1.io.conflict.norev.Foo$RP",
57             "org.opendaylight.yang.gen.v1.io.conflict.norev.Foo$RPInput",
58             "org.opendaylight.yang.gen.v1.io.conflict.norev.Foo$RPOutput",
59             "org.opendaylight.yang.gen.v1.io.conflict.norev.FooInput",
60             "org.opendaylight.yang.gen.v1.io.conflict.norev.FooOutput");
61     }
62
63     @Test
64     public void testSchemaCollisions() {
65         assertGeneratedNames("schema-conflict.yang",
66             "org.opendaylight.yang.gen.v1.schema.conflict.norev.SchemaConflictData",
67             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$AD",
68             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$AX",
69             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$CO",
70             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$LI",
71             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$NO",
72             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$RP",
73             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$RPInput",
74             "org.opendaylight.yang.gen.v1.schema.conflict.norev.FooBar$RPOutput",
75             "org.opendaylight.yang.gen.v1.schema.conflict.norev.SchemaConflictListener");
76     }
77
78     private static void assertGeneratedNames(final String yangFile, final String... fqcns) {
79         assertEquals(List.of(fqcns),
80             DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResource("/mdsal-810/" + yangFile))
81                 .stream().map(type -> type.getIdentifier().toString()).toList());
82     }
83 }