Updated Branches: refs/heads/master 7f9683af8 -> 4e8819745
Apply proper license header and formatting to the new contrail tests Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4e881974 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4e881974 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4e881974 Branch: refs/heads/master Commit: 4e881974594ddd78818aa692837e73da11c789aa Parents: 7f9683a Author: Hugo Trippaers <htrippa...@schubergphilis.com> Authored: Mon Dec 30 09:15:06 2013 +0100 Committer: Hugo Trippaers <htrippa...@schubergphilis.com> Committed: Mon Dec 30 09:15:06 2013 +0100 ---------------------------------------------------------------------- .../management/VirtualMachineModelTest.java | 128 ------------------- .../management/VirtualNetworkModelTest.java | 123 ------------------ .../contrail/model/VirtualMachineModelTest.java | 128 +++++++++++++++++++ .../contrail/model/VirtualNetworkModelTest.java | 123 ++++++++++++++++++ 4 files changed, 251 insertions(+), 251 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4e881974/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualMachineModelTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualMachineModelTest.java b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualMachineModelTest.java deleted file mode 100644 index 7b0a263..0000000 --- a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualMachineModelTest.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.apache.cloudstack.network.contrail.model; -import java.util.UUID; - -import java.io.IOException; - -import org.apache.cloudstack.network.contrail.management.*; -import org.apache.cloudstack.network.contrail.model.*; - -import org.apache.log4j.Logger; -import org.junit.runner.RunWith; - -import static org.mockito.Mockito.*; - -import com.cloud.network.Network; -import com.cloud.network.dao.NetworkVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.dao.UserVmDao; -import com.cloud.uservm.UserVm; - -import net.juniper.contrail.api.ApiConnectorMock; -import net.juniper.contrail.api.ApiConnectorFactory; -import net.juniper.contrail.api.ApiObjectBase; -import net.juniper.contrail.api.types.Domain; -import net.juniper.contrail.api.types.InstanceIp; -import net.juniper.contrail.api.types.NetworkIpam; -import net.juniper.contrail.api.types.SubnetType; -import net.juniper.contrail.api.types.VirtualMachineInterface; -import net.juniper.contrail.api.types.VirtualNetwork; -import net.juniper.contrail.api.types.VnSubnetsType; -import net.juniper.contrail.api.types.NetworkPolicy; -import net.juniper.contrail.api.types.Project; -import net.juniper.contrail.api.types.FloatingIp; -import net.juniper.contrail.api.types.VnSubnetsType; -import net.juniper.contrail.api.types.ServiceInstance; -import net.juniper.contrail.api.ApiConnector; - -import org.junit.runner.RunWith; -import org.junit.After; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.AfterClass; -import org.junit.Ignore; -import org.junit.Test; -import junit.framework.TestCase; - -public class VirtualMachineModelTest extends TestCase { - private static final Logger s_logger = - Logger.getLogger(VirtualMachineModelTest.class); - - @Test - public void testVirtualMachineDBLookup() { - ModelDatabase db = new ModelDatabase(); - VMInstanceVO vm = mock(VMInstanceVO.class); - - // Create 3 dummy Virtual Machine model objects - // Add these models to database. - // Each VM is identified by unique UUId. - VirtualMachineModel vm0 = new VirtualMachineModel(vm, "fbc1f8fa-4b78-45ee-bba0-b551dbf72353"); - db.getVirtualMachines().add(vm0); - - VirtualMachineModel vm1 = new VirtualMachineModel(vm, "fbc1f8fa-4b78-45ee-bba0-b551dbf83464"); - db.getVirtualMachines().add(vm1); - - VirtualMachineModel vm2 = new VirtualMachineModel(vm, "fbc1f8fa-4b78-45ee-bba0-b551dbf94575"); - db.getVirtualMachines().add(vm2); - - s_logger.debug("No of Vitual Machines added to database : " + db.getVirtualMachines().size()); - - assertEquals(3, db.getVirtualMachines().size()); - - assertSame(vm0, db.lookupVirtualMachine("fbc1f8fa-4b78-45ee-bba0-b551dbf72353")); - assertSame(vm1, db.lookupVirtualMachine("fbc1f8fa-4b78-45ee-bba0-b551dbf83464")); - assertSame(vm2, db.lookupVirtualMachine("fbc1f8fa-4b78-45ee-bba0-b551dbf94575")); - } - - @Test - public void testCreateVirtualMachine() throws IOException { - - String uuid = UUID.randomUUID().toString(); - ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class); - ModelController controller = mock(ModelController.class); - ApiConnector api = new ApiConnectorMock(null, 0); - when(controller.getManager()).thenReturn(contrailMgr); - when(controller.getApiAccessor()).thenReturn(api); - - // Create Virtual-Network (VN) - NetworkVO network = mock(NetworkVO.class); - when(network.getName()).thenReturn("testnetwork"); - when(network.getState()).thenReturn(Network.State.Allocated); - when(network.getGateway()).thenReturn("10.1.1.1"); - when(network.getCidr()).thenReturn("10.1.1.0/24"); - when(network.getPhysicalNetworkId()).thenReturn(42L); - when(network.getDomainId()).thenReturn(10L); - when(network.getAccountId()).thenReturn(42L); - - when(contrailMgr.getCanonicalName(network)).thenReturn("testnetwork"); - when(contrailMgr.getProjectId(network.getDomainId(), network.getAccountId())).thenReturn("testProjectId"); - - // Create Virtual-Machine (VM) - VMInstanceVO vm = mock(VMInstanceVO.class); - when(vm.getInstanceName()).thenReturn("testVM1"); - when(vm.getState()).thenReturn(VirtualMachine.State.Starting); - when(vm.getDomainId()).thenReturn(10L); - when(vm.getAccountId()).thenReturn(42L); - - UserVmDao VmDao = mock(UserVmDao.class); - when(VmDao.findById(anyLong())).thenReturn(null); - when(controller.getVmDao()).thenReturn(VmDao); - - VirtualMachineModel vmModel = new VirtualMachineModel(vm, uuid); - - assertEquals(vmModel.getInstanceName(), "testVM1"); - assertEquals(vmModel.getUuid(), uuid); - - vmModel.build(controller, vm); - try { - vmModel.update(controller); - } catch (Exception ex) { - fail("virtual-network update failed "); - } - - //verify - assertTrue(vmModel.verify(controller)); - - } - -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4e881974/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualNetworkModelTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualNetworkModelTest.java b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualNetworkModelTest.java deleted file mode 100644 index 16949a4..0000000 --- a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/VirtualNetworkModelTest.java +++ /dev/null @@ -1,123 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.network.contrail.model; - -import java.util.UUID; - -import junit.framework.TestCase; - -import javax.inject.Inject; -import java.io.IOException; - -import org.apache.cloudstack.network.contrail.management.*; -import org.apache.log4j.Logger; - -import net.juniper.contrail.api.ApiConnectorMock; -import net.juniper.contrail.api.ApiConnectorFactory; -import net.juniper.contrail.api.ApiObjectBase; -import net.juniper.contrail.api.types.Domain; -import net.juniper.contrail.api.types.InstanceIp; -import net.juniper.contrail.api.types.NetworkIpam; -import net.juniper.contrail.api.types.SubnetType; -import net.juniper.contrail.api.types.VirtualMachine; -import net.juniper.contrail.api.types.VirtualMachineInterface; -import net.juniper.contrail.api.types.VirtualNetwork; -import net.juniper.contrail.api.types.VnSubnetsType; -import net.juniper.contrail.api.types.NetworkPolicy; -import net.juniper.contrail.api.types.Project; -import net.juniper.contrail.api.types.FloatingIp; -import net.juniper.contrail.api.types.VnSubnetsType; -import net.juniper.contrail.api.types.ServiceInstance; -import net.juniper.contrail.api.ApiConnector; - -import org.junit.runner.RunWith; -import org.junit.After; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.AfterClass; -import org.junit.Ignore; -import org.junit.Test; - -import static org.mockito.Mockito.*; -import com.cloud.network.Networks.TrafficType; -import com.cloud.network.Network.State; -import com.cloud.network.dao.NetworkVO; -import com.cloud.utils.component.ComponentContext; - -public class VirtualNetworkModelTest extends TestCase { - private static final Logger s_logger = Logger.getLogger(VirtualNetworkModelTest.class); - - @Test - public void testDBLookup() { - ModelDatabase db = new ModelDatabase(); - NetworkVO network = mock(NetworkVO.class); - VirtualNetworkModel storageModel = new VirtualNetworkModel(network, null, ContrailManager.managementNetworkName, TrafficType.Storage); - db.getVirtualNetworks().add(storageModel); - VirtualNetworkModel mgmtModel = new VirtualNetworkModel(network, null, ContrailManager.managementNetworkName, TrafficType.Management); - db.getVirtualNetworks().add(mgmtModel); - VirtualNetworkModel guestModel1 = new VirtualNetworkModel(network, UUID.randomUUID().toString(), "test", TrafficType.Guest); - db.getVirtualNetworks().add(guestModel1); - VirtualNetworkModel guestModel2 = new VirtualNetworkModel(network, UUID.randomUUID().toString(), "test", TrafficType.Guest); - db.getVirtualNetworks().add(guestModel2); - s_logger.debug("networks: " + db.getVirtualNetworks().size()); - s_logger.debug("No of Vitual Networks added to database : " + db.getVirtualNetworks().size()); - assertEquals(4, db.getVirtualNetworks().size()); - assertSame(storageModel, db.lookupVirtualNetwork(null, storageModel.getName(), TrafficType.Storage)); - assertSame(mgmtModel, db.lookupVirtualNetwork(null, mgmtModel.getName(), TrafficType.Management)); - assertSame(guestModel1, db.lookupVirtualNetwork(guestModel1.getUuid(), null, TrafficType.Guest)); - assertSame(guestModel2, db.lookupVirtualNetwork(guestModel2.getUuid(), null, TrafficType.Guest)); - } - - @Test - public void testCreateVirtualNetwork() throws IOException { - - String uuid = UUID.randomUUID().toString(); - ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class); - ModelController controller = mock(ModelController.class); - ApiConnector api = new ApiConnectorMock(null, 0); - when(controller.getManager()).thenReturn(contrailMgr); - when(controller.getApiAccessor()).thenReturn(api); - - // Create Virtual-Network (VN) - NetworkVO network = mock(NetworkVO.class); - when(network.getName()).thenReturn("testnetwork"); - when(network.getState()).thenReturn(State.Allocated); - when(network.getGateway()).thenReturn("10.1.1.1"); - when(network.getCidr()).thenReturn("10.1.1.0/24"); - when(network.getPhysicalNetworkId()).thenReturn(42L); - when(network.getDomainId()).thenReturn(10L); - when(network.getAccountId()).thenReturn(42L); - - when(contrailMgr.getCanonicalName(network)).thenReturn("testnetwork"); - when(contrailMgr.getProjectId(network.getDomainId(), network.getAccountId())).thenReturn("testProjectId"); - - VirtualNetworkModel vnModel = new VirtualNetworkModel(network, uuid, "testnetwork", TrafficType.Guest); - - assertEquals(vnModel.getName(), "testnetwork"); - assertEquals(vnModel.getUuid(), uuid); - - vnModel.build(controller, network); - try { - vnModel.update(controller); - } catch (Exception ex) { - fail("virtual-network update failed "); - } - assertTrue(vnModel.verify(controller)); -} - -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4e881974/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualMachineModelTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualMachineModelTest.java b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualMachineModelTest.java new file mode 100644 index 0000000..7b0a263 --- /dev/null +++ b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualMachineModelTest.java @@ -0,0 +1,128 @@ +package org.apache.cloudstack.network.contrail.model; +import java.util.UUID; + +import java.io.IOException; + +import org.apache.cloudstack.network.contrail.management.*; +import org.apache.cloudstack.network.contrail.model.*; + +import org.apache.log4j.Logger; +import org.junit.runner.RunWith; + +import static org.mockito.Mockito.*; + +import com.cloud.network.Network; +import com.cloud.network.dao.NetworkVO; +import com.cloud.vm.VMInstanceVO; +import com.cloud.vm.VirtualMachine; +import com.cloud.vm.dao.UserVmDao; +import com.cloud.uservm.UserVm; + +import net.juniper.contrail.api.ApiConnectorMock; +import net.juniper.contrail.api.ApiConnectorFactory; +import net.juniper.contrail.api.ApiObjectBase; +import net.juniper.contrail.api.types.Domain; +import net.juniper.contrail.api.types.InstanceIp; +import net.juniper.contrail.api.types.NetworkIpam; +import net.juniper.contrail.api.types.SubnetType; +import net.juniper.contrail.api.types.VirtualMachineInterface; +import net.juniper.contrail.api.types.VirtualNetwork; +import net.juniper.contrail.api.types.VnSubnetsType; +import net.juniper.contrail.api.types.NetworkPolicy; +import net.juniper.contrail.api.types.Project; +import net.juniper.contrail.api.types.FloatingIp; +import net.juniper.contrail.api.types.VnSubnetsType; +import net.juniper.contrail.api.types.ServiceInstance; +import net.juniper.contrail.api.ApiConnector; + +import org.junit.runner.RunWith; +import org.junit.After; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.AfterClass; +import org.junit.Ignore; +import org.junit.Test; +import junit.framework.TestCase; + +public class VirtualMachineModelTest extends TestCase { + private static final Logger s_logger = + Logger.getLogger(VirtualMachineModelTest.class); + + @Test + public void testVirtualMachineDBLookup() { + ModelDatabase db = new ModelDatabase(); + VMInstanceVO vm = mock(VMInstanceVO.class); + + // Create 3 dummy Virtual Machine model objects + // Add these models to database. + // Each VM is identified by unique UUId. + VirtualMachineModel vm0 = new VirtualMachineModel(vm, "fbc1f8fa-4b78-45ee-bba0-b551dbf72353"); + db.getVirtualMachines().add(vm0); + + VirtualMachineModel vm1 = new VirtualMachineModel(vm, "fbc1f8fa-4b78-45ee-bba0-b551dbf83464"); + db.getVirtualMachines().add(vm1); + + VirtualMachineModel vm2 = new VirtualMachineModel(vm, "fbc1f8fa-4b78-45ee-bba0-b551dbf94575"); + db.getVirtualMachines().add(vm2); + + s_logger.debug("No of Vitual Machines added to database : " + db.getVirtualMachines().size()); + + assertEquals(3, db.getVirtualMachines().size()); + + assertSame(vm0, db.lookupVirtualMachine("fbc1f8fa-4b78-45ee-bba0-b551dbf72353")); + assertSame(vm1, db.lookupVirtualMachine("fbc1f8fa-4b78-45ee-bba0-b551dbf83464")); + assertSame(vm2, db.lookupVirtualMachine("fbc1f8fa-4b78-45ee-bba0-b551dbf94575")); + } + + @Test + public void testCreateVirtualMachine() throws IOException { + + String uuid = UUID.randomUUID().toString(); + ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class); + ModelController controller = mock(ModelController.class); + ApiConnector api = new ApiConnectorMock(null, 0); + when(controller.getManager()).thenReturn(contrailMgr); + when(controller.getApiAccessor()).thenReturn(api); + + // Create Virtual-Network (VN) + NetworkVO network = mock(NetworkVO.class); + when(network.getName()).thenReturn("testnetwork"); + when(network.getState()).thenReturn(Network.State.Allocated); + when(network.getGateway()).thenReturn("10.1.1.1"); + when(network.getCidr()).thenReturn("10.1.1.0/24"); + when(network.getPhysicalNetworkId()).thenReturn(42L); + when(network.getDomainId()).thenReturn(10L); + when(network.getAccountId()).thenReturn(42L); + + when(contrailMgr.getCanonicalName(network)).thenReturn("testnetwork"); + when(contrailMgr.getProjectId(network.getDomainId(), network.getAccountId())).thenReturn("testProjectId"); + + // Create Virtual-Machine (VM) + VMInstanceVO vm = mock(VMInstanceVO.class); + when(vm.getInstanceName()).thenReturn("testVM1"); + when(vm.getState()).thenReturn(VirtualMachine.State.Starting); + when(vm.getDomainId()).thenReturn(10L); + when(vm.getAccountId()).thenReturn(42L); + + UserVmDao VmDao = mock(UserVmDao.class); + when(VmDao.findById(anyLong())).thenReturn(null); + when(controller.getVmDao()).thenReturn(VmDao); + + VirtualMachineModel vmModel = new VirtualMachineModel(vm, uuid); + + assertEquals(vmModel.getInstanceName(), "testVM1"); + assertEquals(vmModel.getUuid(), uuid); + + vmModel.build(controller, vm); + try { + vmModel.update(controller); + } catch (Exception ex) { + fail("virtual-network update failed "); + } + + //verify + assertTrue(vmModel.verify(controller)); + + } + +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4e881974/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualNetworkModelTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualNetworkModelTest.java b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualNetworkModelTest.java new file mode 100644 index 0000000..16949a4 --- /dev/null +++ b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/model/VirtualNetworkModelTest.java @@ -0,0 +1,123 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.cloudstack.network.contrail.model; + +import java.util.UUID; + +import junit.framework.TestCase; + +import javax.inject.Inject; +import java.io.IOException; + +import org.apache.cloudstack.network.contrail.management.*; +import org.apache.log4j.Logger; + +import net.juniper.contrail.api.ApiConnectorMock; +import net.juniper.contrail.api.ApiConnectorFactory; +import net.juniper.contrail.api.ApiObjectBase; +import net.juniper.contrail.api.types.Domain; +import net.juniper.contrail.api.types.InstanceIp; +import net.juniper.contrail.api.types.NetworkIpam; +import net.juniper.contrail.api.types.SubnetType; +import net.juniper.contrail.api.types.VirtualMachine; +import net.juniper.contrail.api.types.VirtualMachineInterface; +import net.juniper.contrail.api.types.VirtualNetwork; +import net.juniper.contrail.api.types.VnSubnetsType; +import net.juniper.contrail.api.types.NetworkPolicy; +import net.juniper.contrail.api.types.Project; +import net.juniper.contrail.api.types.FloatingIp; +import net.juniper.contrail.api.types.VnSubnetsType; +import net.juniper.contrail.api.types.ServiceInstance; +import net.juniper.contrail.api.ApiConnector; + +import org.junit.runner.RunWith; +import org.junit.After; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.AfterClass; +import org.junit.Ignore; +import org.junit.Test; + +import static org.mockito.Mockito.*; +import com.cloud.network.Networks.TrafficType; +import com.cloud.network.Network.State; +import com.cloud.network.dao.NetworkVO; +import com.cloud.utils.component.ComponentContext; + +public class VirtualNetworkModelTest extends TestCase { + private static final Logger s_logger = Logger.getLogger(VirtualNetworkModelTest.class); + + @Test + public void testDBLookup() { + ModelDatabase db = new ModelDatabase(); + NetworkVO network = mock(NetworkVO.class); + VirtualNetworkModel storageModel = new VirtualNetworkModel(network, null, ContrailManager.managementNetworkName, TrafficType.Storage); + db.getVirtualNetworks().add(storageModel); + VirtualNetworkModel mgmtModel = new VirtualNetworkModel(network, null, ContrailManager.managementNetworkName, TrafficType.Management); + db.getVirtualNetworks().add(mgmtModel); + VirtualNetworkModel guestModel1 = new VirtualNetworkModel(network, UUID.randomUUID().toString(), "test", TrafficType.Guest); + db.getVirtualNetworks().add(guestModel1); + VirtualNetworkModel guestModel2 = new VirtualNetworkModel(network, UUID.randomUUID().toString(), "test", TrafficType.Guest); + db.getVirtualNetworks().add(guestModel2); + s_logger.debug("networks: " + db.getVirtualNetworks().size()); + s_logger.debug("No of Vitual Networks added to database : " + db.getVirtualNetworks().size()); + assertEquals(4, db.getVirtualNetworks().size()); + assertSame(storageModel, db.lookupVirtualNetwork(null, storageModel.getName(), TrafficType.Storage)); + assertSame(mgmtModel, db.lookupVirtualNetwork(null, mgmtModel.getName(), TrafficType.Management)); + assertSame(guestModel1, db.lookupVirtualNetwork(guestModel1.getUuid(), null, TrafficType.Guest)); + assertSame(guestModel2, db.lookupVirtualNetwork(guestModel2.getUuid(), null, TrafficType.Guest)); + } + + @Test + public void testCreateVirtualNetwork() throws IOException { + + String uuid = UUID.randomUUID().toString(); + ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class); + ModelController controller = mock(ModelController.class); + ApiConnector api = new ApiConnectorMock(null, 0); + when(controller.getManager()).thenReturn(contrailMgr); + when(controller.getApiAccessor()).thenReturn(api); + + // Create Virtual-Network (VN) + NetworkVO network = mock(NetworkVO.class); + when(network.getName()).thenReturn("testnetwork"); + when(network.getState()).thenReturn(State.Allocated); + when(network.getGateway()).thenReturn("10.1.1.1"); + when(network.getCidr()).thenReturn("10.1.1.0/24"); + when(network.getPhysicalNetworkId()).thenReturn(42L); + when(network.getDomainId()).thenReturn(10L); + when(network.getAccountId()).thenReturn(42L); + + when(contrailMgr.getCanonicalName(network)).thenReturn("testnetwork"); + when(contrailMgr.getProjectId(network.getDomainId(), network.getAccountId())).thenReturn("testProjectId"); + + VirtualNetworkModel vnModel = new VirtualNetworkModel(network, uuid, "testnetwork", TrafficType.Guest); + + assertEquals(vnModel.getName(), "testnetwork"); + assertEquals(vnModel.getUuid(), uuid); + + vnModel.build(controller, network); + try { + vnModel.update(controller); + } catch (Exception ex) { + fail("virtual-network update failed "); + } + assertTrue(vnModel.verify(controller)); +} + +}