1 // FIXME new vlan model
3 // * Copyright (c) 2016 Cisco and/or its affiliates.
5 // * Licensed under the Apache License, Version 2.0 (the "License");
6 // * you may not use this file except in compliance with the License.
7 // * You may obtain a copy of the License at:
9 // * http://www.apache.org/licenses/LICENSE-2.0
11 // * Unless required by applicable law or agreed to in writing, software
12 // * distributed under the License is distributed on an "AS IS" BASIS,
13 // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // * See the License for the specific language governing permissions and
15 // * limitations under the License.
18 //package io.fd.honeycomb.v3po.translate.v3po.interfacesstate;
20 //import static io.fd.honeycomb.v3po.translate.v3po.ContextTestUtils.getMapping;
21 //import static io.fd.honeycomb.v3po.translate.v3po.ContextTestUtils.getMappingIid;
22 //import static org.mockito.Matchers.any;
23 //import static org.mockito.Mockito.doReturn;
24 //import static org.mockito.Mockito.mock;
25 //import static org.mockito.Mockito.never;
26 //import static org.mockito.Mockito.verify;
28 //import io.fd.honeycomb.v3po.translate.read.ReadFailedException;
29 //import io.fd.honeycomb.v3po.translate.spi.read.RootReaderCustomizer;
30 //import io.fd.honeycomb.v3po.translate.v3po.test.ChildReaderCustomizerTest;
31 //import io.fd.honeycomb.v3po.translate.v3po.util.NamingContext;
32 //import java.util.HashMap;
33 //import java.util.Map;
34 //import org.junit.Test;
35 //import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState;
36 //import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
37 //import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceKey;
38 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.TagRewriteOperation;
39 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VlanType;
40 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VppInterfaceStateAugmentation;
41 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.L2;
42 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.L2Builder;
43 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.l2.VlanTagRewrite;
44 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.interfaces.state._interface.l2.VlanTagRewriteBuilder;
45 //import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
46 //import org.openvpp.jvpp.dto.SwInterfaceDetails;
48 //public class VlanTagRewriteCustomizerTest extends ChildReaderCustomizerTest<VlanTagRewrite, VlanTagRewriteBuilder> {
50 // private NamingContext interfacesContext;
52 // public VlanTagRewriteCustomizerTest() {
53 // super(VlanTagRewrite.class);
57 // public void setUpBefore() {
58 // interfacesContext = new NamingContext("generatedIfaceName", "test-instance");
63 // protected RootReaderCustomizer<VlanTagRewrite, VlanTagRewriteBuilder> initCustomizer() {
64 // return new VlanTagRewriteCustomizer(api, interfacesContext);
68 // public void testMerge() {
69 // final L2Builder builder = mock(L2Builder.class);
70 // final VlanTagRewrite value = mock(VlanTagRewrite.class);
71 // getCustomizer().merge(builder, value);
72 // verify(builder).setVlanTagRewrite(value);
75 // private InstanceIdentifier<VlanTagRewrite> getVlanTagRewriteId(final String name) {
76 // return InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(name)).augmentation(
77 // VppInterfaceStateAugmentation.class).child(L2.class).child(VlanTagRewrite.class);
81 // public void testRead() throws ReadFailedException {
82 // final Map<Integer, SwInterfaceDetails> cachedInterfaceDump = new HashMap<>();
83 // final int ifId = 1;
84 // final String ifName = "eth0.sub0";
85 // doReturn(getMapping(ifName, ifId)).when(mappingContext).read(getMappingIid(ifName, "test-instance"));
87 // final SwInterfaceDetails ifaceDetails = new SwInterfaceDetails();
88 // ifaceDetails.subId = ifId;
89 // ifaceDetails.interfaceName = ifName.getBytes();
90 // ifaceDetails.vtrPushDot1Q = 1;
91 // cachedInterfaceDump.put(ifId, ifaceDetails);
92 // cache.put(InterfaceCustomizer.DUMPED_IFCS_CONTEXT_KEY, cachedInterfaceDump);
94 // final VlanTagRewriteBuilder builder = mock(VlanTagRewriteBuilder.class);
95 // getCustomizer().readCurrentAttributes(getVlanTagRewriteId(ifName), builder, ctx);
97 // verify(builder).setFirstPushed(VlanType._802dot1q);
98 // verify(builder).setRewriteOperation(TagRewriteOperation.Disabled);
99 // verify(builder, never()).setTag1(any());
100 // verify(builder, never()).setTag2(any());