X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fserialization%2Ffactories%2FSetConfigMessageFactoryTest.java;h=c188b593d4a5b0ceac5915653d2a5e59cd3f2312;hb=07de1ed897da9d7dc70c6d550f38c59339ed751e;hp=5f54df8aa982250d011c0157d0aee271bbdd8e00;hpb=d716cd3ab5bf247ef9648603321cead25b240b1e;p=openflowjava.git diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetConfigMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetConfigMessageFactoryTest.java index 5f54df8a..c188b593 100644 --- a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetConfigMessageFactoryTest.java +++ b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetConfigMessageFactoryTest.java @@ -1,66 +1,89 @@ -/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */ -package org.opendaylight.openflowjava.protocol.impl.serialization.factories; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.UnpooledByteBufAllocator; - -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper; -import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInputBuilder; - -/** - * @author timotej.kubas - * @author michal.polkorab - */ -public class SetConfigMessageFactoryTest { - private static final byte MESSAGE_TYPE = 9; - private static final int MESSAGE_LENGTH = 12; - - /** - * Testing of {@link SetConfigMessageFactory} for correct translation from POJO - * @throws Exception - */ - @Test - public void testSetConfigMessageV13() throws Exception { - SetConfigInputBuilder builder = new SetConfigInputBuilder(); - BufferHelper.setupHeader(builder, EncodeConstants.OF13_VERSION_ID); - SwitchConfigFlag flag = SwitchConfigFlag.FRAGNORMAL; - builder.setFlags(flag); - builder.setMissSendLen(10); - SetConfigInput message = builder.build(); - - ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); - SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance(); - factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); - - BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH); - Assert.assertEquals("Wrong flags", SwitchConfigFlag.FRAGNORMAL.getIntValue(), out.readUnsignedShort()); - Assert.assertEquals("Wrong missSendLen", 10, out.readUnsignedShort()); - } - - /** - * Testing of {@link SetConfigMessageFactory} for correct translation from POJO - * @throws Exception - */ - @Test - public void testSetConfigMessageV10() throws Exception { - SetConfigInputBuilder builder = new SetConfigInputBuilder(); - BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); - SwitchConfigFlag flag = SwitchConfigFlag.OFPCFRAGDROP; - builder.setFlags(flag); - builder.setMissSendLen(85); - SetConfigInput message = builder.build(); - - ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); - SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance(); - factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); - - BufferHelper.checkHeaderV10(out, MESSAGE_TYPE, MESSAGE_LENGTH); - Assert.assertEquals("Wrong flags", SwitchConfigFlag.OFPCFRAGDROP.getIntValue(), out.readUnsignedShort()); - Assert.assertEquals("Wrong missSendLen", 85, out.readUnsignedShort()); - } -} +/* + * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.protocol.impl.serialization.factories; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.UnpooledByteBufAllocator; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey; +import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer; +import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry; +import org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl; +import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInputBuilder; + +/** + * @author timotej.kubas + * @author michal.polkorab + */ +public class SetConfigMessageFactoryTest { + private static final byte MESSAGE_TYPE = 9; + private static final int MESSAGE_LENGTH = 12; + private SerializerRegistry registry; + private OFSerializer setConfigFactory; + + /** + * Initializes serializer registry and stores correct factory in field + */ + @Before + public void startUp() { + registry = new SerializerRegistryImpl(); + registry.init(); + setConfigFactory = registry.getSerializer( + new MessageTypeKey<>(EncodeConstants.OF13_VERSION_ID, SetConfigInput.class)); + } + + /** + * Testing of {@link SetConfigMessageFactory} for correct translation from POJO + * @throws Exception + */ + @Test + public void testSetConfigMessageV13() throws Exception { + SetConfigInputBuilder builder = new SetConfigInputBuilder(); + BufferHelper.setupHeader(builder, EncodeConstants.OF13_VERSION_ID); + SwitchConfigFlag flag = SwitchConfigFlag.FRAGNORMAL; + builder.setFlags(flag); + builder.setMissSendLen(10); + SetConfigInput message = builder.build(); + + ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); + setConfigFactory.serialize(message, out); + + BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH); + Assert.assertEquals("Wrong flags", SwitchConfigFlag.FRAGNORMAL.getIntValue(), out.readUnsignedShort()); + Assert.assertEquals("Wrong missSendLen", 10, out.readUnsignedShort()); + } + + /** + * Testing of {@link SetConfigMessageFactory} for correct translation from POJO + * @throws Exception + */ + @Test + public void testSetConfigMessageV10() throws Exception { + SetConfigInputBuilder builder = new SetConfigInputBuilder(); + BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); + SwitchConfigFlag flag = SwitchConfigFlag.OFPCFRAGDROP; + builder.setFlags(flag); + builder.setMissSendLen(85); + SetConfigInput message = builder.build(); + + ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); + setConfigFactory.serialize(message, out); + + BufferHelper.checkHeaderV10(out, MESSAGE_TYPE, MESSAGE_LENGTH); + Assert.assertEquals("Wrong flags", SwitchConfigFlag.OFPCFRAGDROP.getIntValue(), out.readUnsignedShort()); + Assert.assertEquals("Wrong missSendLen", 85, out.readUnsignedShort()); + } +}