/* * Copyright (c) 2015 Inocybe Technologies 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.groupbasedpolicy.renderer.iovisor.module; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.groupbasedpolicy.renderer.iovisor.test.GbpIovisorDataBrokerTest; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.IovisorModuleId; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.iovisor.module.instances.IovisorModuleInstance; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.iovisor.module.instances.IovisorModuleInstanceBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.iovisor.rev151030.iovisor.module.instances.IovisorModuleInstanceKey; public class IovisorModuleManagerTest extends GbpIovisorDataBrokerTest { private DataBroker dataBroker; private IovisorModuleManager iovisorModuleManager; IovisorModuleInstance iovisorModuleInstance1; IovisorModuleInstance iovisorModuleInstance2; IovisorModuleInstance badIovisorModuleInstance1; @Before public void initialisation() throws Exception { dataBroker = getDataBroker(); iovisorModuleManager = new IovisorModuleManager(dataBroker); String iom1 = "10.10.10.10:10000"; IovisorModuleId iom1Id = new IovisorModuleId(iom1); String iom2 = "iom1.groupbasedpolicy.org:10000"; IovisorModuleId iom2Id = new IovisorModuleId(iom2); String badIom1 = "10.10.10.10"; IovisorModuleId badIom1Id = new IovisorModuleId(badIom1); iovisorModuleInstance1 = new IovisorModuleInstanceBuilder().setId(iom1Id) .setKey(new IovisorModuleInstanceKey(iom1Id)) .setUri(new Uri(iom1)) .build(); iovisorModuleInstance2 = new IovisorModuleInstanceBuilder().setId(iom2Id) .setKey(new IovisorModuleInstanceKey(iom2Id)) .setUri(new Uri(iom2)) .build(); badIovisorModuleInstance1 = new IovisorModuleInstanceBuilder().setId(badIom1Id) .setKey(new IovisorModuleInstanceKey(badIom1Id)) .setUri(new Uri(badIom1)) .build(); } @Test public void addActiveIovisorModuleTest() { Assert.assertFalse(iovisorModuleManager.addActiveIovisorModule(iovisorModuleInstance1.getId())); Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1)); Assert.assertTrue(iovisorModuleManager.addActiveIovisorModule(iovisorModuleInstance1.getId())); } @Test public void addProvisionedIovisorModuleTest() { Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1)); Assert.assertFalse(iovisorModuleManager.addProvisionedIovisorModule(badIovisorModuleInstance1)); } @Test public void addIovisorInstanceTest() { Assert.assertTrue( iovisorModuleManager.addIovisorModule(iovisorModuleInstance1, LogicalDatastoreType.CONFIGURATION)); Assert.assertTrue( iovisorModuleManager.addIovisorModule(iovisorModuleInstance1, LogicalDatastoreType.OPERATIONAL)); Assert.assertFalse( iovisorModuleManager.addIovisorModule(badIovisorModuleInstance1, LogicalDatastoreType.CONFIGURATION)); Assert.assertFalse( iovisorModuleManager.addIovisorModule(badIovisorModuleInstance1, LogicalDatastoreType.OPERATIONAL)); } @Test public void getActiveIovisorModuleTest() { // Prepare a provisioned IOM Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1)); IovisorModuleInstance fetchedIom = iovisorModuleManager.getProvisionedIovisorModule(iovisorModuleInstance1.getId()); Assert.assertEquals(iovisorModuleInstance1, fetchedIom); // Its not Active yet Assert.assertNull(iovisorModuleManager.getActiveIovisorModule(iovisorModuleInstance1.getId())); Assert.assertTrue(iovisorModuleManager.addActiveIovisorModule(iovisorModuleInstance1.getId())); Assert.assertEquals(iovisorModuleInstance1, iovisorModuleManager.getActiveIovisorModule(iovisorModuleInstance1.getId())); } @Test public void getProvisionedIovisorModuleTest() { Assert.assertTrue(iovisorModuleManager.addProvisionedIovisorModule(iovisorModuleInstance1)); Assert.assertEquals(iovisorModuleInstance1, iovisorModuleManager.getProvisionedIovisorModule(iovisorModuleInstance1.getId())); } }