| /** |
| * 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()); |
| } |
| } |