X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fdeserialization%2Ffactories%2FQueueGetConfigReplyMessageFactoryMultiTest.java;h=f8102e5fc205638acff4c132336b45025cd2f23a;hb=29a2a074c78708f6d18583779ece96bb6573f0c6;hp=b0ea6cb66f30554f83e23c62bf06dd087718b0e4;hpb=3c8c1e026f04efbca0a8e1bb8a5c87acbac379be;p=openflowjava.git diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/QueueGetConfigReplyMessageFactoryMultiTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/QueueGetConfigReplyMessageFactoryMultiTest.java index b0ea6cb6..f8102e5f 100644 --- a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/QueueGetConfigReplyMessageFactoryMultiTest.java +++ b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/QueueGetConfigReplyMessageFactoryMultiTest.java @@ -1,82 +1,114 @@ -/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */ -package org.opendaylight.openflowjava.protocol.impl.deserialization.factories; - -import io.netty.buffer.ByteBuf; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueProperties; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.get.config.reply.Queues; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.get.config.reply.QueuesBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueuePropertyBuilder; - -/** - * @author timotej.kubas - * @author michal.polkorab - */ -public class QueueGetConfigReplyMessageFactoryMultiTest { - - /** - * Testing of {@link QueueGetConfigReplyMessageFactory} for correct - * translation into POJO - */ - //@Test - // TODO - fix test - public void test() { - ByteBuf bb = BufferHelper.buildBuffer("00 01 02 03 " + // port - "00 00 00 00 " + // padding - "00 00 00 01 " + // queueId - "00 00 00 01 " + // port - "00 00 00 00 00 00 00 00 " + // pad - "00 01 " + // property - "00 00 00 00 00 00 " + // pad - "00 00 00 02 " + // queueId - "00 00 00 02 " + // port - "00 00 00 00 00 00 00 00 " + // pad - "00 01 " + // property - "00 00 00 00 00 00 " + // pad - "00 00 00 03 " + // queueId - "00 00 00 03 " + // port - "00 00 00 00 00 00 00 00 " + // pad - "00 01 " + // property - "00 00 00 00 00 00" // pad - ); - - GetQueueConfigOutput builtByFactory = BufferHelper.decodeV13( - QueueGetConfigReplyMessageFactory.getInstance(), bb); - - BufferHelper.checkHeaderV13(builtByFactory); - Assert.assertEquals("Wrong port", 66051L, builtByFactory.getPort().getValue().longValue()); - Assert.assertEquals("Wrong queues", builtByFactory.getQueues(), - createQueuesList()); - } - - private static List createQueuesList() { - List queuesList = new ArrayList<>(); - QueuesBuilder qb = new QueuesBuilder(); - for (int i = 1; i <= 3; i++) { - qb.setQueueId(new QueueId((long) i)); - qb.setPort(new PortNumber((long) i)); - qb.setQueueProperty(createPropertiesList()); - queuesList.add(qb.build()); - } - return queuesList; - } - - private static List createPropertiesList() { - List propertiesList = new ArrayList<>(); - QueuePropertyBuilder pb = new QueuePropertyBuilder(); - pb.setProperty(QueueProperties.forValue(1)); - propertiesList.add(pb.build()); - return propertiesList; - } - -} +/* + * 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.deserialization.factories; + +import io.netty.buffer.ByteBuf; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry; +import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer; +import org.opendaylight.openflowjava.protocol.api.keys.MessageCodeKey; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl; +import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.RateQueueProperty; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.RateQueuePropertyBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueId; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueProperties; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigOutput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.get.config.reply.Queues; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.get.config.reply.QueuesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueuePropertyBuilder; + +/** + * @author timotej.kubas + * @author michal.polkorab + */ +public class QueueGetConfigReplyMessageFactoryMultiTest { + + private OFDeserializer queueFactory; + + /** + * Initializes deserializer registry and lookups correct deserializer + */ + @Before + public void startUp() { + DeserializerRegistry registry = new DeserializerRegistryImpl(); + registry.init(); + queueFactory = registry.getDeserializer( + new MessageCodeKey(EncodeConstants.OF13_VERSION_ID, 23, GetQueueConfigOutput.class)); + } + + /** + * Testing of {@link QueueGetConfigReplyMessageFactory} for correct + * translation into POJO + */ + @Test + public void test() { + ByteBuf bb = BufferHelper.buildBuffer("00 01 02 03 " + // port + "00 00 00 00 " + // padding + "00 00 00 01 " + // queueId + "00 00 00 01 " + // port + "00 20 " + // length + "00 00 00 00 00 00 " + // pad + "00 02 " + // property + "00 10 " + // length + "00 00 00 00 " + // pad + "00 05 " + // rate + "00 00 00 00 00 00 " + // pad + "00 00 00 02 " + // queueId + "00 00 00 02 " + // port + "00 20 " + // length + "00 00 00 00 00 00 " + // pad + "00 02 " + // property + "00 10 " + // length + "00 00 00 00 " + // pad + "00 05 " + // rate + "00 00 00 00 00 00" // pad + ); + + GetQueueConfigOutput builtByFactory = BufferHelper.deserialize( + queueFactory, bb); + + BufferHelper.checkHeaderV13(builtByFactory); + Assert.assertEquals("Wrong port", 66051L, builtByFactory.getPort().getValue().longValue()); + Assert.assertEquals("Wrong queues", createQueuesList(), builtByFactory.getQueues()); + } + + private static List createQueuesList() { + List queuesList = new ArrayList<>(); + for (int i = 1; i < 3; i++) { + QueuesBuilder qb = new QueuesBuilder(); + qb.setQueueId(new QueueId((long) i)); + qb.setPort(new PortNumber((long) i)); + qb.setQueueProperty(createPropertiesList()); + queuesList.add(qb.build()); + } + return queuesList; + } + + private static List createPropertiesList() { + List propertiesList = new ArrayList<>(); + QueuePropertyBuilder pb = new QueuePropertyBuilder(); + pb.setProperty(QueueProperties.forValue(2)); + RateQueuePropertyBuilder rateBuilder = new RateQueuePropertyBuilder(); + rateBuilder.setRate(5); + pb.addAugmentation(RateQueueProperty.class, rateBuilder.build()); + propertiesList.add(pb.build()); + return propertiesList; + } + +}