2 * Copyright (c) 2019 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowjava.eric;
10 import java.util.LinkedList;
11 import java.util.List;
12 import org.junit.Before;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15 import org.mockito.Mock;
16 import org.mockito.Mockito;
17 import org.mockito.junit.MockitoJUnitRunner;
18 import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
19 import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
20 import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;
21 import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
22 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
23 import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.EricExpClass;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
27 import org.opendaylight.yangtools.yang.common.Uint8;
29 @RunWith(MockitoJUnitRunner.class)
30 public class EricExtensionCodecRegistratorImplTest {
32 public static final Uint8 VERSION = Uint8.valueOf(4);
33 public static final byte VERSION1 = EncodeConstants.OF10_VERSION_ID;
34 public static final byte VERSION2 = EncodeConstants.OF13_VERSION_ID;
36 private EricExtensionCodecRegistratorImpl ericExtensionCodecRegistrator;
37 private final List<SwitchConnectionProvider> providers = new LinkedList<>();
38 private MatchEntrySerializerKey<EricExpClass, MatchField> matchSerializerKey;
39 private MatchEntryDeserializerKey matchDeserializerKey;
42 OFSerializer<MatchEntry> matchSerializer;
44 OFDeserializer<MatchEntry> matchDeserializer;
46 SwitchConnectionProvider provider;
50 providers.add(provider);
51 matchSerializerKey = new MatchEntrySerializerKey<>(VERSION, EricExpClass.VALUE, MatchField.VALUE);
52 //OxmClass 1, OxmField 2
53 matchDeserializerKey = new MatchEntryDeserializerKey(VERSION, 1, 2);
55 ericExtensionCodecRegistrator = new EricExtensionCodecRegistratorImpl(providers);
59 public void registerMatchEntrySerializerTest() {
60 ericExtensionCodecRegistrator.registerMatchEntrySerializer(matchSerializerKey, matchSerializer);
61 Mockito.verify(provider).registerMatchEntrySerializer(matchSerializerKey, matchSerializer);
65 public void unregisterMatchEntrySerializerTest() {
66 ericExtensionCodecRegistrator.unregisterMatchEntrySerializer(matchSerializerKey);
67 Mockito.verify(provider).unregisterSerializer(matchSerializerKey);
71 public void registerMatchEntryDeserializerTest() {
72 ericExtensionCodecRegistrator.registerMatchEntryDeserializer(matchDeserializerKey, matchDeserializer);
73 Mockito.verify(provider).registerMatchEntryDeserializer(matchDeserializerKey, matchDeserializer);
77 public void unregisterMatchEntryDeserializerTest() {
78 ericExtensionCodecRegistrator.unregisterMatchEntryDeserializer(matchDeserializerKey);
79 Mockito.verify(provider).unregisterDeserializer(matchDeserializerKey);