Correct ActionService generics
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / test / java / org / opendaylight / mdsal / binding / dom / adapter / ActionServiceAdapterTest.java
index 76e28aa80f5fe071c699f0a32de2160f2a90cea7..1ec1c86e9ccaa4e9ccced8702ea26b814ccbec42 100644 (file)
@@ -29,9 +29,13 @@ import org.opendaylight.mdsal.dom.api.DOMActionResult;
 import org.opendaylight.mdsal.dom.api.DOMActionService;
 import org.opendaylight.mdsal.dom.spi.SimpleDOMActionResult;
 import org.opendaylight.yang.gen.v1.urn.odl.actions.norev.Cont;
+import org.opendaylight.yang.gen.v1.urn.odl.actions.norev.Lstio;
+import org.opendaylight.yang.gen.v1.urn.odl.actions.norev.LstioKey;
 import org.opendaylight.yang.gen.v1.urn.odl.actions.norev.cont.Foo;
 import org.opendaylight.yang.gen.v1.urn.odl.actions.norev.cont.foo.Output;
+import org.opendaylight.yang.gen.v1.urn.odl.actions.norev.lstio.Fooio;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 
 @RunWith(MockitoJUnitRunner.StrictStubs.class)
@@ -67,4 +71,20 @@ public class ActionServiceAdapterTest extends AbstractActionAdapterTest {
         assertEquals(List.of(), bindingResult.getErrors());
         assertEquals(BINDING_FOO_OUTPUT, bindingResult.getResult());
     }
+
+    @Test
+    public void testKeyedInvocation() throws ExecutionException {
+        final var handle = service.getActionHandle(ActionSpec.builder(Lstio.class).build(Fooio.class));
+        final var future = handle.invoke((KeyedInstanceIdentifier<Lstio, LstioKey>)
+                InstanceIdentifier.builder(Lstio.class, new LstioKey("test")).build(),
+                BINDING_LSTIO_INPUT);
+        assertNotNull(future);
+        assertFalse(future.isDone());
+
+        domResult.set(new SimpleDOMActionResult(DOM_FOO_OUTPUT, List.of()));
+        final var bindingResult = Futures.getDone(future);
+
+        assertEquals(List.of(), bindingResult.getErrors());
+        assertEquals(BINDING_LSTIO_OUTPUT, bindingResult.getResult());
+    }
 }