X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsamples%2Ftoaster-provider%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsample%2Ftoaster%2Fprovider%2FOpenDaylightToasterTest.java;h=7ad1e38e2c4a340cb36d6577eb132234f9bf0cb4;hb=c18f35dc4659c301354e25aca4d41178201975f1;hp=516f2149fe3abab0663b60e02c3bde6207eb5ba0;hpb=2bee5a4b37bc6e2f7331df63757e5dc4e0236b29;p=controller.git diff --git a/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java b/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java index 516f2149fe..7ad1e38e2c 100644 --- a/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java +++ b/opendaylight/md-sal/samples/toaster-provider/src/test/java/org/opendaylight/controller/sample/toaster/provider/OpenDaylightToasterTest.java @@ -1,10 +1,11 @@ /* -* Copyright (c) 2014 Brocade Communications Systems, 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 -*/ + * Copyright (c) 2014 Brocade Communications Systems, 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.controller.sample.toaster.provider; import static org.junit.Assert.assertEquals; @@ -13,84 +14,76 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; +import java.util.Optional; import java.util.concurrent.Future; - +import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTest; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.sal.binding.api.NotificationProviderService; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.DisplayString; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.MakeToastInput; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.MakeToastInputBuilder; +import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.MakeToastOutput; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.Toaster; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.WheatBread; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.Uint32; -import com.google.common.base.Optional; - -public class OpenDaylightToasterTest extends AbstractDataBrokerTest{ +public class OpenDaylightToasterTest extends AbstractConcurrentDataBrokerTest { - private static InstanceIdentifier TOASTER_IID = - InstanceIdentifier.builder( Toaster.class ).build(); - OpendaylightToaster toaster; + private static final InstanceIdentifier TOASTER_IID = InstanceIdentifier.builder(Toaster.class).build(); + private OpendaylightToaster toaster; - @Override - protected void setupWithDataBroker(DataBroker dataBroker) { - toaster = new OpendaylightToaster(); - toaster.setDataProvider( dataBroker ); - - /** - * Doesn't look like we have support for the NotificationProviderService yet, so mock it - * for now. - */ - NotificationProviderService mockNotification = mock( NotificationProviderService.class ); - toaster.setNotificationProvider( mockNotification ); + @Before + public void setupToaster() { + toaster = new OpendaylightToaster(getDataBroker(), mock(NotificationPublishService.class), + mock(RpcProviderService.class)); } @Test public void testToasterInitOnStartUp() throws Exception { DataBroker broker = getDataBroker(); - ReadOnlyTransaction rTx = broker.newReadOnlyTransaction(); - Optional optional = rTx.read( LogicalDatastoreType.OPERATIONAL, TOASTER_IID ).get(); - assertNotNull( optional ); - assertTrue( "Operational toaster not present", optional.isPresent() ); + Optional optional; + try (ReadTransaction readTx = broker.newReadOnlyTransaction()) { + optional = readTx.read(LogicalDatastoreType.OPERATIONAL, TOASTER_IID).get(); + } + assertNotNull(optional); + assertTrue("Operational toaster not present", optional.isPresent()); - Toaster toaster = optional.get(); + Toaster toasterData = optional.get(); - assertEquals( Toaster.ToasterStatus.Up, toaster.getToasterStatus() ); - assertEquals( new DisplayString("Opendaylight"), - toaster.getToasterManufacturer() ); - assertEquals( new DisplayString("Model 1 - Binding Aware"), - toaster.getToasterModelNumber() ); + assertEquals(Toaster.ToasterStatus.Up, toasterData.getToasterStatus()); + assertEquals(new DisplayString("Opendaylight"), toasterData.getToasterManufacturer()); + assertEquals(new DisplayString("Model 1 - Binding Aware"), toasterData.getToasterModelNumber()); - Optional configToaster = - rTx.read( LogicalDatastoreType.CONFIGURATION, TOASTER_IID ).get(); - assertFalse( "Didn't expect config data for toaster.", - configToaster.isPresent() ); + try (ReadTransaction readTx = broker.newReadOnlyTransaction()) { + Boolean configToaster = readTx.exists(LogicalDatastoreType.CONFIGURATION, TOASTER_IID).get(); + assertFalse("Didn't expect config data for toaster.", configToaster); + } } @Test - @Ignore //ignored because it is not an e test right now. Illustrative purposes only. - public void testSomething() throws Exception{ - MakeToastInput toastInput = new MakeToastInputBuilder() - .setToasterDoneness( 1L ) - .setToasterToastType( WheatBread.class ) - .build(); + @Ignore //ignored because it is not a test right now. Illustrative purposes only. + public void testSomething() throws Exception { + MakeToastInput toastInput = new MakeToastInputBuilder().setToasterDoneness(Uint32.valueOf(1)) + .setToasterToastType(WheatBread.VALUE).build(); - //NOTE: In a real test we would want to override the Thread.sleep() to prevent our junit test - //for sleeping for a second... - Future> makeToast = toaster.makeToast( toastInput ); + // NOTE: In a real test we would want to override the Thread.sleep() to + // prevent our junit test + // for sleeping for a second... + Future> makeToast = toaster.makeToast(toastInput); - RpcResult rpcResult = makeToast.get(); + RpcResult rpcResult = makeToast.get(); - assertNotNull( rpcResult ); - assertTrue( rpcResult.isSuccessful() ); - //etc + assertNotNull(rpcResult); + assertTrue(rpcResult.isSuccessful()); + // etc } - }