+++ /dev/null
-/*\r
- * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.vpnservice.test;\r
-\r
-import static org.junit.Assert.*;\r
-import static org.mockito.Matchers.*;\r
-import static org.mockito.Mockito.when;\r
-\r
-import org.junit.*;\r
-import org.junit.runner.RunWith;\r
-import org.mockito.Mock;\r
-import org.mockito.runners.MockitoJUnitRunner;\r
-\r
-import org.opendaylight.vpnservice.VpnManager;\r
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
-import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;\r
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;\r
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
-import org.opendaylight.yangtools.concepts.ListenerRegistration;\r
-import org.opendaylight.yangtools.yang.binding.DataObject;\r
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;\r
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInstances;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances.*;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.af.config.*;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.af.config.apply.label.apply.label.mode.*;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.af.config.apply.label.ApplyLabelMode;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.af.config.ApplyLabelBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances.vpn.instance.Ipv4FamilyBuilder;\r
-\r
-@RunWith(MockitoJUnitRunner.class)\r
-public class VpnServiceTest {\r
- @Mock DataBroker dataBroker;\r
- @Mock ListenerRegistration<DataChangeListener> dataChangeListenerRegistration;\r
- MockDataChangedEvent event;\r
-\r
- @Before\r
- public void setUp() throws Exception {\r
- when(dataBroker.registerDataChangeListener(\r
- any(LogicalDatastoreType.class),\r
- any(InstanceIdentifier.class),\r
- any(DataChangeListener.class),\r
- any(DataChangeScope.class)))\r
- .thenReturn(dataChangeListenerRegistration);\r
- event = new MockDataChangedEvent();\r
- }\r
-\r
- @Test\r
- public void test() {\r
- VpnInstanceBuilder builder = new VpnInstanceBuilder().setKey(new VpnInstanceKey("Vpn1")).\r
- setIpv4Family(new Ipv4FamilyBuilder().setRouteDistinguisher("100:1").setImportRoutePolicy("100:2").\r
- setExportRoutePolicy("100:1").setApplyLabel(new ApplyLabelBuilder().setApplyLabelMode(\r
- new PerRouteBuilder().setApplyLabelPerRoute(true).build()).build()).build());\r
- VpnInstance instance = builder.build();\r
- VpnManager vpnManager = new VpnManager(dataBroker);\r
- event.created.put(createVpnId("Vpn1"), instance);\r
- vpnManager.onDataChanged(event);\r
- }\r
-\r
- private InstanceIdentifier<VpnInstance> createVpnId(String name) {\r
- InstanceIdentifierBuilder<VpnInstance> idBuilder = \r
- InstanceIdentifier.builder(VpnInstances.class).child(VpnInstance.class, new VpnInstanceKey(name));\r
- InstanceIdentifier<VpnInstance> id = idBuilder.build();\r
- return id;\r
- }\r
-\r
-}\r