1 package org.openflow.protocol;
3 import java.nio.ByteBuffer;
4 import java.util.ArrayList;
7 import junit.framework.TestCase;
9 import org.openflow.protocol.factory.BasicFactory;
10 import org.openflow.protocol.queue.OFPacketQueue;
11 import org.openflow.protocol.queue.OFQueueProperty;
12 import org.openflow.protocol.queue.OFQueuePropertyMinRate;
13 import org.openflow.protocol.queue.OFQueuePropertyType;
14 import org.openflow.util.OFTestCase;
16 public class OFQueueConfigTest extends OFTestCase {
17 public void testRequest() throws Exception {
18 OFQueueConfigRequest req = new OFQueueConfigRequest();
19 req.setPort((short) 5);
20 ByteBuffer bb = ByteBuffer.allocate(1024);
25 OFQueueConfigRequest req2 = new OFQueueConfigRequest();
27 TestCase.assertEquals(req, req2);
30 public void testReply() throws Exception {
31 OFQueueConfigReply reply = new OFQueueConfigReply();
32 reply.setPort((short) 5);
34 OFPacketQueue queue = new OFPacketQueue();
36 List<OFQueueProperty> properties = new ArrayList<OFQueueProperty>();
37 properties.add(new OFQueuePropertyMinRate().setRate((short) 1));
38 queue.setProperties(properties);
39 queue.setLength((short) (OFPacketQueue.MINIMUM_LENGTH + OFQueuePropertyMinRate.MINIMUM_LENGTH));
41 List<OFPacketQueue> queues = new ArrayList<OFPacketQueue>();
43 reply.setQueues(queues);
44 reply.setLengthU(OFQueueConfigReply.MINIMUM_LENGTH + queue.getLength());
46 ByteBuffer bb = ByteBuffer.allocate(1024);
51 OFQueueConfigReply reply2 = new OFQueueConfigReply();
52 reply2.setQueuePropertyFactory(new BasicFactory());
54 TestCase.assertEquals(reply, reply2);
55 TestCase.assertEquals(1, reply2.getQueues().size());
56 TestCase.assertEquals(1, reply2.getQueues().get(0).getProperties().size());
57 TestCase.assertTrue(reply2.getQueues().get(0).getProperties().get(0) instanceof OFQueuePropertyMinRate);
58 TestCase.assertEquals(OFQueuePropertyType.MIN_RATE, reply2.getQueues().get(0).getProperties().get(0).getType());
60 reply.getQueues().add(queue.clone());
61 reply.setLengthU(reply.getLengthU() + queue.getLength());
65 reply2 = new OFQueueConfigReply();
66 reply2.setQueuePropertyFactory(new BasicFactory());
68 TestCase.assertEquals(reply, reply2);
69 TestCase.assertEquals(2, reply2.getQueues().size());
71 queue.getProperties().add(new OFQueuePropertyMinRate().setRate((short) 2));
72 queue.setLength((short) (queue.getLength() + OFQueuePropertyMinRate.MINIMUM_LENGTH));
73 reply.setLengthU(reply.getLengthU() + OFQueuePropertyMinRate.MINIMUM_LENGTH);
77 reply2 = new OFQueueConfigReply();
78 reply2.setQueuePropertyFactory(new BasicFactory());
80 TestCase.assertEquals(reply, reply2);
81 TestCase.assertEquals(2, reply2.getQueues().size());
82 TestCase.assertEquals(2, reply2.getQueues().get(0).getProperties().size());