2 * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
\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
9 package org.opendaylight.openflowjava.protocol.impl.deserialization.factories.multipart;
\r
11 import io.netty.buffer.ByteBuf;
\r
13 import org.junit.Assert;
\r
14 import org.junit.Test;
\r
15 import org.junit.runner.RunWith;
\r
16 import org.mockito.Matchers;
\r
17 import org.mockito.Mock;
\r
18 import org.mockito.Mockito;
\r
19 import org.mockito.runners.MockitoJUnitRunner;
\r
20 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
\r
21 import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;
\r
22 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory;
\r
23 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
\r
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage;
\r
27 * @author michal.polkorab
\r
30 @RunWith(MockitoJUnitRunner.class)
\r
31 public class MultipartReplyExperimenterTest {
\r
33 @Mock DeserializerRegistry registry;
\r
35 private MultipartReplyMessageFactory factory = new MultipartReplyMessageFactory();
\r
38 * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO
\r
41 public void testMultipartReplyExperimenter() {
\r
42 factory.injectDeserializerRegistry(registry);
\r
43 ByteBuf bb = BufferHelper.buildBuffer("FF FF 00 01 00 00 00 00 "+
\r
44 "00 00 00 0F "+// types
\r
45 "00 00 00 0F "+// capabilities
\r
46 "00 00 00 01 "+// max groups
\r
47 "00 00 00 02 "+// max groups
\r
48 "00 00 00 03 "+// max groups
\r
49 "00 00 00 04 "+// max groups
\r
50 "0F FF 98 01 "+// actions bitmap (all actions included)
\r
51 "00 00 00 00 "+// actions bitmap (no actions included)
\r
52 "00 00 00 00 "+// actions bitmap (no actions included)
\r
53 "00 00 00 00"// actions bitmap (no actions included)
\r
55 MultipartReplyMessage builtByFactory = BufferHelper.deserialize(factory, bb);
\r
57 BufferHelper.checkHeaderV13(builtByFactory);
\r
58 Assert.assertEquals("Wrong type", 65535, builtByFactory.getType().getIntValue());
\r
59 Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
\r
61 Mockito.verify(registry, Mockito.times(1)).getDeserializer(Matchers.any(MessageCodeKey.class));
\r