5e857b5c1f66218586ba88203d40f3f53017ac8d
[hc2vpp.git] /
1 // FIXME new vlan model
2 ///*
3 // * Copyright (c) 2016 Cisco and/or its affiliates.
4 // *
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:
8 // *
9 // *     http://www.apache.org/licenses/LICENSE-2.0
10 // *
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.
16 // */
17 //
18 //package io.fd.honeycomb.v3po.translate.v3po.interfacesstate;
19 //
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;
27 //
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;
47 //
48 //public class VlanTagRewriteCustomizerTest extends ChildReaderCustomizerTest<VlanTagRewrite, VlanTagRewriteBuilder> {
49 //
50 //    private NamingContext interfacesContext;
51 //
52 //    public VlanTagRewriteCustomizerTest() {
53 //        super(VlanTagRewrite.class);
54 //    }
55 //
56 //    @Override
57 //    public void setUpBefore() {
58 //        interfacesContext = new NamingContext("generatedIfaceName", "test-instance");
59 //    }
60 //
61 //
62 //    @Override
63 //    protected RootReaderCustomizer<VlanTagRewrite, VlanTagRewriteBuilder> initCustomizer() {
64 //        return new VlanTagRewriteCustomizer(api, interfacesContext);
65 //    }
66 //
67 //    @Test
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);
73 //    }
74 //
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);
78 //    }
79 //
80 //    @Test
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"));
86 //
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);
93 //
94 //        final VlanTagRewriteBuilder builder = mock(VlanTagRewriteBuilder.class);
95 //        getCustomizer().readCurrentAttributes(getVlanTagRewriteId(ifName), builder, ctx);
96 //
97 //        verify(builder).setFirstPushed(VlanType._802dot1q);
98 //        verify(builder).setRewriteOperation(TagRewriteOperation.Disabled);
99 //        verify(builder, never()).setTag1(any());
100 //        verify(builder, never()).setTag2(any());
101 //    }
102 //}