Baseline for neutron-vpp mapping
[groupbasedpolicy.git] / neutron-vpp-mapper / src / test / java / org / opendaylight / groupbasedpolicy / neutron / vpp / mapper / processors / TestUtils.java
1 /*\r
2  * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.groupbasedpolicy.neutron.vpp.mapper.processors;\r
10 \r
11 import static org.junit.Assert.assertEquals;\r
12 import static org.junit.Assert.assertNotNull;\r
13 import static org.junit.Assert.assertTrue;\r
14 \r
15 import java.util.Iterator;\r
16 \r
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContextId;\r
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.UniqueId;\r
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.rev160427.AddressType;\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.rev160427.ContextType;\r
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.Mappings;\r
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.GbpByNeutronMappings;\r
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.BaseEndpointsByPorts;\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.base.endpoints.by.ports.BaseEndpointByPort;\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.gbp.by.neutron.mappings.base.endpoints.by.ports.BaseEndpointByPortKey;\r
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.gbp.mapper.rev150513.mappings.neutron.by.gbp.mappings.PortsByEndpoints;\r
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.Config;\r
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.config.VppEndpoint;\r
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.config.VppEndpointKey;\r
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.Ports;\r
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;\r
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.PortKey;\r
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;\r
35 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
36 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument;\r
37 \r
38 public class TestUtils {\r
39 \r
40     public static VppEndpointKey createVppEndpointKey(BaseEndpointByPort bebp) {\r
41         return new VppEndpointKey(bebp.getAddress(), bebp.getAddressType(), bebp.getContextId(), bebp.getContextType());\r
42     }\r
43 \r
44     public static InstanceIdentifier<VppEndpoint> createVppEpIid(VppEndpointKey key) {\r
45         return InstanceIdentifier.builder(Config.class).child(VppEndpoint.class, key).build();\r
46     }\r
47 \r
48     public static InstanceIdentifier<VppEndpoint> createVppEpIid(String addr, Class<? extends AddressType> addrType,\r
49             ContextId ctxId, Class<? extends ContextType> ctxType) {\r
50         return createVppEpIid(new VppEndpointKey(addr, addrType, ctxId, ctxType));\r
51     }\r
52 \r
53     public static InstanceIdentifier<Port> createPortIid(PortKey portKey) {\r
54         return InstanceIdentifier.builder(Neutron.class).child(Ports.class).child(Port.class, portKey).build();\r
55     }\r
56 \r
57     public static InstanceIdentifier<BaseEndpointByPort> createBaseEpByPortIid(Uuid uuid) {\r
58         return createBaseEpByPortIid(new UniqueId(uuid.getValue()));\r
59     }\r
60 \r
61     public static InstanceIdentifier<BaseEndpointByPort> createBaseEpByPortIid(UniqueId uuid) {\r
62         return InstanceIdentifier.builder(Mappings.class)\r
63             .child(GbpByNeutronMappings.class)\r
64             .child(BaseEndpointsByPorts.class)\r
65             .child(BaseEndpointByPort.class, new BaseEndpointByPortKey(uuid))\r
66             .build();\r
67     }\r
68 \r
69     public static void assertPathArgumentTypes(Iterable<PathArgument> pathArguments, Class<?>[] expectedTypes) {\r
70         assertNotNull(pathArguments);\r
71         Iterator<PathArgument> it = pathArguments.iterator();\r
72         for (int i = 0; i < expectedTypes.length; ++i) {\r
73             assertTrue("Next path argument expected.", it.hasNext());\r
74             assertEquals("Unexpected path argument type.", expectedTypes[i], it.next().getType());\r
75         }\r
76     }\r
77 }\r