- CompositeNode compositeNode = mock(CompositeNode.class);
- RpcResult<CompositeNode> rpcResult =
- RpcResultBuilder.<CompositeNode>success(compositeNode).build();
-
- BrokerFacade brokerFacade = mock(BrokerFacade.class);
- when(
- brokerFacade.invokeRpc(
- eq(QName.create("(http://netconfcentral.org/ns/toaster?revision=2009-11-20)testOutput")),
- any(CompositeNode.class))).thenReturn(
- Futures.<RpcResult<CompositeNode>> immediateFuture(rpcResult));
+ final SchemaContext schema = controllerContext.getGlobalSchema();
+ final Module rpcModule = schema.findModuleByName("toaster", null);
+ assertNotNull(rpcModule);
+ final QName rpcQName = QName.create(rpcModule.getQNameModule(), "testOutput");
+ final QName rpcOutputQName = QName.create(rpcModule.getQNameModule(),"output");
+
+ final Set<RpcDefinition> setRpcs = rpcModule.getRpcs();
+ RpcDefinition rpcDef = null;
+ ContainerSchemaNode rpcOutputSchemaNode = null;
+ for (final RpcDefinition rpc : setRpcs) {
+ if (rpcQName.isEqualWithoutRevision(rpc.getQName())) {
+ rpcOutputSchemaNode = SchemaNodeUtils.getRpcDataSchema(rpc, rpcOutputQName);
+ rpcDef = rpc;
+ break;
+ }
+ }
+ assertNotNull(rpcDef);
+ assertNotNull(rpcOutputSchemaNode);
+ assertTrue(rpcOutputSchemaNode instanceof ContainerSchemaNode);
+ final DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> containerBuilder =
+ Builders.containerBuilder(rpcOutputSchemaNode);
+ final DataSchemaNode leafSchema = rpcOutputSchemaNode
+ .getDataChildByName(QName.create(rpcModule.getQNameModule(), "textOut"));
+ assertTrue(leafSchema instanceof LeafSchemaNode);
+ final NormalizedNodeAttrBuilder<NodeIdentifier, Object, LeafNode<Object>> leafBuilder =
+ Builders.leafBuilder((LeafSchemaNode) leafSchema);
+ leafBuilder.withValue("brm");
+ containerBuilder.withChild(leafBuilder.build());
+ final ContainerNode container = containerBuilder.build();
+
+ final DOMRpcResult result = new DefaultDOMRpcResult(container);
+ final CheckedFuture<DOMRpcResult, DOMRpcException> future = Futures.immediateCheckedFuture(result);
+
+ final BrokerFacade brokerFacade = mock(BrokerFacade.class);
+ when(brokerFacade.invokeRpc(eq(rpcDef.getPath()), any(NormalizedNode.class))).thenReturn(future);