From 2e0247e7db43b00fcaf2b61f86d9088b60737265 Mon Sep 17 00:00:00 2001 From: ShaabanEltanany Date: Wed, 22 Apr 2020 12:25:25 +0200 Subject: [PATCH] add tests for impl layer pce module JIRA TRNSPRTPCE-209 Signed-off-by: guillame.lambert Change-Id: I842c0281795613248cb20ff76057358baeefd42a --- .../pce/impl/PceProviderTest.java | 74 +++++++++++++++++++ .../pce/impl/PceServiceRPCImplTest.java | 60 +++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImplTest.java diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java new file mode 100644 index 000000000..b04a75adf --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java @@ -0,0 +1,74 @@ +/* + * Copyright © 2020 Orange Labs, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.transportpce.pce.impl; + +import static org.mockito.ArgumentMatchers.anyObject; +import static org.mockito.ArgumentMatchers.eq; + +import org.eclipse.jdt.annotation.NonNull; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; +import org.opendaylight.transportpce.common.network.RequestProcessor; +import org.opendaylight.transportpce.pce.service.PathComputationService; +import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl; +import org.opendaylight.transportpce.pce.utils.NotificationPublishServiceMock; +import org.opendaylight.transportpce.test.AbstractTest; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.TransportpcePceService; +import org.opendaylight.yangtools.concepts.ObjectRegistration; + + +public class PceProviderTest extends AbstractTest { + + private RpcProviderService rpcService; + private PathComputationService pathComputationService; + private NotificationPublishService notificationPublishService; + private NetworkTransactionImpl networkTransaction; + private RequestProcessor requestProcessor; + private ObjectRegistration rpcRegistration; + private PceProvider pceProvider; + + @Before + public void setUp() { + rpcService = Mockito.mock(RpcProviderService.class); + notificationPublishService = new NotificationPublishServiceMock(); + requestProcessor = Mockito.mock(RequestProcessor.class); + networkTransaction = new NetworkTransactionImpl(requestProcessor); + pathComputationService = new PathComputationServiceImpl(networkTransaction, notificationPublishService); + pceProvider = new PceProvider(rpcService, pathComputationService); + } + + @Test + public void testInit() { + this.rpcRegistration = new ObjectRegistration() { + @NonNull + @Override + public TransportpcePceService getInstance() { + return new PceServiceRPCImpl(pathComputationService); + } + + @Override + public void close() { + + } + }; + + + Mockito + .when(rpcService + .registerRpcImplementation(eq(TransportpcePceService.class), anyObject())) + .thenReturn(rpcRegistration); + pceProvider.init(); + pceProvider.close(); + } + +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImplTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImplTest.java new file mode 100644 index 000000000..116551f65 --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImplTest.java @@ -0,0 +1,60 @@ +/* + * Copyright © 2020 Orange Labs, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.transportpce.pce.impl; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; +import org.opendaylight.transportpce.common.network.RequestProcessor; +import org.opendaylight.transportpce.pce.service.PathComputationService; +import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl; +import org.opendaylight.transportpce.pce.utils.NotificationPublishServiceMock; +import org.opendaylight.transportpce.test.AbstractTest; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.CancelResourceReserveInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInputBuilder; + + + + +public class PceServiceRPCImplTest extends AbstractTest { + + private PathComputationService pathComputationService; + private NotificationPublishService notificationPublishService; + private NetworkTransactionImpl networkTransaction; + private RequestProcessor requestProcessor; + private PceServiceRPCImpl pceServiceRPC; + + @Before + public void setUp() { + notificationPublishService = new NotificationPublishServiceMock(); + requestProcessor = Mockito.mock(RequestProcessor.class); + networkTransaction = new NetworkTransactionImpl(requestProcessor); + pathComputationService = new PathComputationServiceImpl(networkTransaction, notificationPublishService); + pceServiceRPC = new PceServiceRPCImpl(pathComputationService); + } + + @Test + public void testCancelResourceReserve() { + CancelResourceReserveInputBuilder cancelResourceReserveInput = new CancelResourceReserveInputBuilder(); + assertNotNull(pceServiceRPC.cancelResourceReserve(cancelResourceReserveInput.build())); + } + + @Test + public void testPathComputationRequest() { + PathComputationRequestInput pathComputationRequestInput = + new PathComputationRequestInputBuilder().build(); + assertNotNull(pceServiceRPC.pathComputationRequest(pathComputationRequestInput)); + } + +} -- 2.36.6