blob: 62e491a995a3f232be6027043144f6544d70e1d8 [file] [log] [blame]
Umesh Krishnaswamy345ee992012-12-13 20:29:48 -08001/**
2* Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior
3* University
4*
5* Licensed under the Apache License, Version 2.0 (the "License"); you may
6* not use this file except in compliance with the License. You may obtain
7* a copy of the License at
8*
9* http://www.apache.org/licenses/LICENSE-2.0
10*
11* Unless required by applicable law or agreed to in writing, software
12* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14* License for the specific language governing permissions and limitations
15* under the License.
16**/
17
18package org.openflow.protocol;
19
20
21import java.util.ArrayList;
22import java.util.List;
23
24import junit.framework.TestCase;
25
26import org.jboss.netty.buffer.ChannelBuffer;
27import org.jboss.netty.buffer.ChannelBuffers;
28import org.openflow.util.OFTestCase;
29
30
31public class OFFeaturesReplyTest extends OFTestCase {
32 public void testWriteRead() throws Exception {
33 OFFeaturesReply ofr = (OFFeaturesReply) messageFactory
34 .getMessage(OFType.FEATURES_REPLY);
35 List<OFPhysicalPort> ports = new ArrayList<OFPhysicalPort>();
36 OFPhysicalPort port = new OFPhysicalPort();
37 port.setHardwareAddress(new byte[6]);
38 port.setName("eth0");
39 ports.add(port);
40 ofr.setPorts(ports);
41 ChannelBuffer bb = ChannelBuffers.dynamicBuffer();
42 bb.clear();
43 ofr.writeTo(bb);
44 ofr.readFrom(bb);
45 TestCase.assertEquals(1, ofr.getPorts().size());
46 TestCase.assertEquals("eth0", ofr.getPorts().get(0).getName());
47
48 // test a 15 character name
49 ofr.getPorts().get(0).setName("012345678901234");
50 bb.clear();
51 ofr.writeTo(bb);
52 ofr.readFrom(bb);
53 TestCase.assertEquals("012345678901234", ofr.getPorts().get(0).getName());
54
55 // test a 16 character name getting truncated
56 ofr.getPorts().get(0).setName("0123456789012345");
57 bb.clear();
58 ofr.writeTo(bb);
59 ofr.readFrom(bb);
60 TestCase.assertEquals("012345678901234", ofr.getPorts().get(0).getName());
61 }
62}