2 * Copyright (c) 2017 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
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
8 package org.opendaylight.genius.arputil.test;
10 import static org.opendaylight.genius.arputil.test.ArpUtilTestUtil.DPN_ID;
11 import static org.opendaylight.genius.arputil.test.ArpUtilTestUtil.INTERFACE_NAME;
12 import static org.opendaylight.genius.arputil.test.ArpUtilTestUtil.PORT_NUMBER;
13 import static org.opendaylight.genius.arputil.test.ArpUtilTestUtil.URI;
14 import static org.opendaylight.yangtools.testutils.mockito.MoreAnswers.realOrException;
16 import com.google.common.util.concurrent.Futures;
17 import com.google.common.util.concurrent.ListenableFuture;
18 import java.util.ArrayList;
19 import java.util.List;
20 import org.mockito.Mockito;
21 import org.opendaylight.genius.mdsalutil.ActionInfo;
22 import org.opendaylight.genius.mdsalutil.actions.ActionOutput;
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetEgressActionsForInterfaceInput;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetEgressActionsForInterfaceOutput;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetEgressActionsForInterfaceOutputBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetInterfaceFromIfIndexInput;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetInterfaceFromIfIndexOutput;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetInterfaceFromIfIndexOutputBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetPortFromInterfaceInput;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetPortFromInterfaceOutput;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetPortFromInterfaceOutputBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService;
35 import org.opendaylight.yangtools.yang.common.RpcResult;
36 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
38 public abstract class TestOdlInterfaceRpcService implements OdlInterfaceRpcService {
40 public static TestOdlInterfaceRpcService newInstance() {
41 return Mockito.mock(TestOdlInterfaceRpcService.class, realOrException());
45 public ListenableFuture<RpcResult<GetPortFromInterfaceOutput>> getPortFromInterface(
46 GetPortFromInterfaceInput input) {
47 RpcResultBuilder<GetPortFromInterfaceOutput> rpcResultBuilder;
48 GetPortFromInterfaceOutputBuilder output = new GetPortFromInterfaceOutputBuilder().setDpid(DPN_ID)
49 .setPortname(INTERFACE_NAME).setPortno(PORT_NUMBER).setPhyAddress("1F:1F:1F:1F:1F:1F");
50 rpcResultBuilder = RpcResultBuilder.success();
51 rpcResultBuilder.withResult(output.build());
52 return Futures.immediateFuture(rpcResultBuilder.build());
56 public ListenableFuture<RpcResult<GetEgressActionsForInterfaceOutput>>
57 getEgressActionsForInterface(GetEgressActionsForInterfaceInput input) {
59 RpcResultBuilder<GetEgressActionsForInterfaceOutput> rpcResultBuilder;
60 List<ActionInfo> listActionInfo = new ArrayList<>();
61 List<Action> actionsList = new ArrayList<>();
62 listActionInfo.add(new ActionOutput(1, new Uri(URI)));
63 for (ActionInfo actionInfo : listActionInfo) {
64 actionsList.add(actionInfo.buildAction());
66 GetEgressActionsForInterfaceOutputBuilder output = new GetEgressActionsForInterfaceOutputBuilder()
67 .setAction(actionsList);
68 rpcResultBuilder = RpcResultBuilder.success();
69 rpcResultBuilder.withResult(output.build());
70 return Futures.immediateFuture(rpcResultBuilder.build());
74 public ListenableFuture<RpcResult<GetInterfaceFromIfIndexOutput>>
75 getInterfaceFromIfIndex(GetInterfaceFromIfIndexInput input) {
76 RpcResultBuilder<GetInterfaceFromIfIndexOutput> rpcResultBuilder;
77 GetInterfaceFromIfIndexOutputBuilder output = new GetInterfaceFromIfIndexOutputBuilder()
78 .setInterfaceName(ArpUtilTestUtil.INTERFACE_NAME);
79 rpcResultBuilder = RpcResultBuilder.success();
80 rpcResultBuilder.withResult(output.build());
81 return Futures.immediateFuture(rpcResultBuilder.build());