blob: 62e491a995a3f232be6027043144f6544d70e1d8 [file] [log] [blame]
/**
* Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior
* University
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
**/
package org.openflow.protocol;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
import org.openflow.util.OFTestCase;
public class OFFeaturesReplyTest extends OFTestCase {
public void testWriteRead() throws Exception {
OFFeaturesReply ofr = (OFFeaturesReply) messageFactory
.getMessage(OFType.FEATURES_REPLY);
List<OFPhysicalPort> ports = new ArrayList<OFPhysicalPort>();
OFPhysicalPort port = new OFPhysicalPort();
port.setHardwareAddress(new byte[6]);
port.setName("eth0");
ports.add(port);
ofr.setPorts(ports);
ChannelBuffer bb = ChannelBuffers.dynamicBuffer();
bb.clear();
ofr.writeTo(bb);
ofr.readFrom(bb);
TestCase.assertEquals(1, ofr.getPorts().size());
TestCase.assertEquals("eth0", ofr.getPorts().get(0).getName());
// test a 15 character name
ofr.getPorts().get(0).setName("012345678901234");
bb.clear();
ofr.writeTo(bb);
ofr.readFrom(bb);
TestCase.assertEquals("012345678901234", ofr.getPorts().get(0).getName());
// test a 16 character name getting truncated
ofr.getPorts().get(0).setName("0123456789012345");
bb.clear();
ofr.writeTo(bb);
ofr.readFrom(bb);
TestCase.assertEquals("012345678901234", ofr.getPorts().get(0).getName());
}
}