-/**
+/*
* Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.opendaylight.openflowplugin.api.OFConstants;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmMatchType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.MultipartRequestBody;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueueBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlow;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.group._case.MultipartRequestGroup;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter._case.MultipartRequestMeter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter.config._case.MultipartRequestMeterConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.port.stats._case.MultipartRequestPortStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueue;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.MultipartRequestTableFeatures;
+import org.opendaylight.yangtools.yang.binding.DataContainer;
/**
- * openflowplugin-impl
- * org.opendaylight.openflowplugin.impl.common
- * <p/>
- * Test class for testing {@link org.opendaylight.openflowplugin.impl.common.MultipartRequestInputFactory}
- * static methods and validations for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType}.
- *
- * @author <a href="mailto:vdemcak@cisco.com">Vaclav Demcak</a>
- * <p/>
- * Created: Mar 28, 2015
+ * Test for {@link MultipartRequestInputFactory}.
*/
public class MultipartRequestInputFactoryTest {
+ private final long xid = 42L;
private short ofVersion;
@Before
- public void initialization() {
- ofVersion = 13;
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * Validation for null input type expect IllegalArgumentException
- */
- @Test(expected = IllegalArgumentException.class)
- public void testMakeMultipartRequestInputLongShortMultipartTypeNullType() {
- final long xid = 1l;
- MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, null);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPDESC}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeDesc() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPDESC;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestDescCase defaultBodyForComparison = new MultipartRequestDescCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPFLOW}
- */
- @Test
- @Ignore
- public void testMakeMultipartRequestInputLongShortMultipartTypeFlow() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPFLOW;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestFlowCase defaultBodyForComparison = new MultipartRequestFlowCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
+ public void setUp() {
+ ofVersion = OFConstants.OFP_VERSION_1_3;
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPAGGREGATE}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeAggr() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPAGGREGATE;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestAggregateCase defaultBodyForComparison = new MultipartRequestAggregateCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
+ public void testMakeMultipartRequestInput_DESC() {
+ MultipartType mpType = MultipartType.OFPMPDESC;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(), MultipartRequestDescCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPTABLE}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeTable() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPTABLE;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestTableCase defaultBodyForComparison = new MultipartRequestTableCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
+ public void testMakeMultipartRequestInput_FLOW_13() {
+ final MultipartType mpType = MultipartType.OFPMPFLOW;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestFlowCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPPORTSTATS}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypePortStat() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPPORTSTATS;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestPortStatsCase defaultBodyForComparison = new MultipartRequestPortStatsCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPQUEUE}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeQueue() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPQUEUE;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
-
- MultipartRequestQueueCaseBuilder multipartRequestQueueCaseBuilder = new MultipartRequestQueueCaseBuilder();
- MultipartRequestQueueBuilder multipartRequestQueueBuilder = new MultipartRequestQueueBuilder();
- multipartRequestQueueBuilder.setPortNo(OFConstants.OFPP_ANY);
- multipartRequestQueueBuilder.setQueueId(OFConstants.OFPQ_ANY);
- multipartRequestQueueCaseBuilder.setMultipartRequestQueue(multipartRequestQueueBuilder.build());
-
- validation(multipartReqInput, xid, type, multipartRequestQueueCaseBuilder.build());
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPGROUP}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeGroup() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPGROUP;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestGroupCase defaultBodyForComparison = new MultipartRequestGroupCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPGROUPDESC}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeGrupDesc() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPGROUPDESC;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestGroupDescCase defaultBodyForComparison = new MultipartRequestGroupDescCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPGROUPFEATURES}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeGroupFeaturs() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPGROUPFEATURES;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestGroupFeaturesCase defaultBodyForComparison = new MultipartRequestGroupFeaturesCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
+ MultipartRequestFlow mpRq = ((MultipartRequestFlowCase) mpRqBody).getMultipartRequestFlow();
+ Assert.assertEquals(OFConstants.OFPTT_ALL, mpRq.getTableId());
+ Assert.assertEquals(OFConstants.OFPP_ANY, mpRq.getOutPort());
+ Assert.assertEquals(OFConstants.OFPG_ANY, mpRq.getOutGroup());
+ Assert.assertEquals(0, mpRq.getCookie().intValue());
+ Assert.assertEquals(0, mpRq.getCookieMask().intValue());
+ Assert.assertNotNull(mpRq.getMatch());
+ Assert.assertNull(mpRq.getMatchV10());
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPMETER}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMeter() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPMETER;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestMeterCase defaultBodyForComparison = new MultipartRequestMeterCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
+ Assert.assertEquals(OxmMatchType.class, mpRq.getMatch().getType());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPMETERCONFIG}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMeterConf() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPMETERCONFIG;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestMeterConfigCase defaultBodyForComparison = new MultipartRequestMeterConfigCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
+ public void testMakeMultipartRequestInput_FLOW_10() {
+ final MultipartType mpType = MultipartType.OFPMPFLOW;
+ ofVersion = OFConstants.OFP_VERSION_1_0;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestFlowCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPMETERFEATURES}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMeterFeatures() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPMETERFEATURES;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestMeterFeaturesCase defaultBodyForComparison = new MultipartRequestMeterFeaturesCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
+ MultipartRequestFlow mpRq = ((MultipartRequestFlowCase) mpRqBody).getMultipartRequestFlow();
+ Assert.assertEquals(OFConstants.OFPTT_ALL, mpRq.getTableId());
+ Assert.assertEquals(OFConstants.OFPP_ANY, mpRq.getOutPort());
+ Assert.assertEquals(OFConstants.OFPG_ANY, mpRq.getOutGroup());
+ Assert.assertEquals(0, mpRq.getCookie().intValue());
+ Assert.assertEquals(0, mpRq.getCookieMask().intValue());
+ Assert.assertNull(mpRq.getMatch());
+ Assert.assertNotNull(mpRq.getMatchV10());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPMETERFEATURES}
- */
@Test
- @Ignore // table features are not working correctly in OVS so we have workaround
- public void testMakeMultipartRequestInputLongShortMultipartTypeTableFeatures() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPTABLEFEATURES;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestTableFeaturesCase defaultBodyForComparison = new MultipartRequestTableFeaturesCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
+ public void testMakeMultipartRequestInputAggregate() {
+ MultipartType mpType = MultipartType.OFPMPAGGREGATE;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(),
+ MultipartRequestAggregateCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPPORTDESC}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypePortDesc() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPPORTDESC;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestPortDescCase defaultBodyForComparison = new MultipartRequestPortDescCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
+ public void testMakeMultipartRequestInputTable() {
+ MultipartType mpType = MultipartType.OFPMPTABLE;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(), MultipartRequestTableCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
- * {@link MultipartType.OFPMPEXPERIMENTER}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeExperimenter() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
- final MultipartRequestExperimenterCase defaultBodyForComparison = new MultipartRequestExperimenterCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- }
+ public void testMakeMultipartRequestInputPortStats() {
+ final MultipartType mpType = MultipartType.OFPMPPORTSTATS;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestPortStatsCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPDESC}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyDesc() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPDESC;
- final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ MultipartRequestPortStats mpRq = ((MultipartRequestPortStatsCase) mpRqBody).getMultipartRequestPortStats();
+ Assert.assertEquals(OFConstants.OFPP_ANY, mpRq.getPortNo());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPFLOW}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyFlow() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPFLOW;
- final MultipartRequestFlowCase body = new MultipartRequestFlowCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
- }
+ public void testMakeMultipartRequestInputQueue() {
+ final MultipartType mpType = MultipartType.OFPMPQUEUE;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestQueueCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPAGGREGATE}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyAggr() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPAGGREGATE;
- final MultipartRequestAggregateCase body = new MultipartRequestAggregateCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ MultipartRequestQueue mpRq = ((MultipartRequestQueueCase) mpRqBody).getMultipartRequestQueue();
+ Assert.assertEquals(OFConstants.OFPP_ANY, mpRq.getPortNo());
+ Assert.assertEquals(OFConstants.OFPQ_ALL, mpRq.getQueueId());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPTABLE}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyTable() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPTABLE;
- final MultipartRequestTableCase body = new MultipartRequestTableCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
- }
+ public void testMakeMultipartRequestInputGroup() {
+ final MultipartType mpType = MultipartType.OFPMPGROUP;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestGroupCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPPORTSTATS}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyPortStat() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPPORTSTATS;
- final MultipartRequestPortStatsCase body = new MultipartRequestPortStatsCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ MultipartRequestGroup mpRq = ((MultipartRequestGroupCase) mpRqBody).getMultipartRequestGroup();
+ Assert.assertEquals(OFConstants.OFPG_ALL, mpRq.getGroupId().getValue());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPQUEUE}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyQueue() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPQUEUE;
- final MultipartRequestQueueCase body = new MultipartRequestQueueCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ public void testMakeMultipartRequestInputGroupDesc() {
+ MultipartType mpType = MultipartType.OFPMPGROUPDESC;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(),
+ MultipartRequestGroupDescCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPGROUP}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGroup() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPGROUP;
- final MultipartRequestGroupCase body = new MultipartRequestGroupCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ public void testMakeMultipartRequestInputGroupFeatures() {
+ MultipartType mpType = MultipartType.OFPMPGROUPFEATURES;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(),
+ MultipartRequestGroupFeaturesCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPGROUPDESC}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGrupDesc() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPGROUPDESC;
- final MultipartRequestGroupDescCase body = new MultipartRequestGroupDescCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
- }
+ public void testMakeMultipartRequestInputMeter() {
+ final MultipartType mpType = MultipartType.OFPMPMETER;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestMeterCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPGROUPFEATURES}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGroupFeaturs() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPGROUPFEATURES;
- final MultipartRequestGroupFeaturesCase body = new MultipartRequestGroupFeaturesCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ MultipartRequestMeter mpRq = ((MultipartRequestMeterCase) mpRqBody).getMultipartRequestMeter();
+ Assert.assertEquals(OFConstants.OFPM_ALL, mpRq.getMeterId().getValue());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPMETER}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeter() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPMETER;
- final MultipartRequestMeterCase body = new MultipartRequestMeterCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
- }
+ public void testMakeMultipartRequestInputMeterConfig() {
+ final MultipartType mpType = MultipartType.OFPMPMETERCONFIG;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestMeterConfigCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPMETERCONFIG}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeterConf() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPMETERCONFIG;
- final MultipartRequestMeterConfigCase body = new MultipartRequestMeterConfigCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ MultipartRequestMeterConfig mpRq =
+ ((MultipartRequestMeterConfigCase) mpRqBody).getMultipartRequestMeterConfig();
+ Assert.assertEquals(OFConstants.OFPM_ALL, mpRq.getMeterId().getValue());
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPMETERFEATURES}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeterFeatures() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPMETERFEATURES;
- final MultipartRequestMeterFeaturesCase body = new MultipartRequestMeterFeaturesCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ public void testMakeMultipartRequestInputMeterFeatures() {
+ MultipartType mpType = MultipartType.OFPMPMETERFEATURES;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(),
+ MultipartRequestMeterFeaturesCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPMETERFEATURES}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyTableFeatures() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPTABLEFEATURES;
- final MultipartRequestTableFeaturesCase body = new MultipartRequestTableFeaturesCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
- }
+ public void testMakeMultipartRequestInputTableFeatures() {
+ final MultipartType mpType = MultipartType.OFPMPTABLEFEATURES;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ final MultipartRequestBody mpRqBody = mpRqInput.getMultipartRequestBody();
+ Assert.assertTrue(mpRqBody instanceof MultipartRequestTableFeaturesCase);
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPPORTDESC}
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyPortDesc() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPPORTDESC;
- final MultipartRequestPortDescCase body = new MultipartRequestPortDescCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
+ MultipartRequestTableFeatures mpRq =
+ ((MultipartRequestTableFeaturesCase) mpRqBody).getMultipartRequestTableFeatures();
+ Assert.assertNotNull(mpRq);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPEXPERIMENTER}
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyExperimenter() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
- final MultipartRequestExperimenterCase body = new MultipartRequestExperimenterCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- validation(multipartReqInput, xid, type, body);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * Validation for null input type expect IllegalArgumentException
- */
- @Test(expected = IllegalArgumentException.class)
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyNullType() {
- final long xid = 1l;
- final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
- MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, null, body);
+ public void testMakeMultipartRequestInputPortDesc() {
+ MultipartType mpType = MultipartType.OFPMPPORTDESC;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(),
+ MultipartRequestPortDescCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * Validation for null input body expect IllegalArgumentException
- */
- @Test(expected = IllegalArgumentException.class)
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyNullBody() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPDESC;
- MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, null);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
- * Validation for bad input body Class expect IllegalArgumentException
- */
- @Test(expected = IllegalArgumentException.class)
- public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyBadType() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
- final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
- MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
- }
-
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, boolean)}.
- * {@link MultipartType.OFPMPDESC}
- * note: we are able to add next test suite for all MultipartType but I guess it is same as suite before
- */
@Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeBoolean() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPDESC;
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, true);
- final MultipartRequestDescCase defaultBodyForComparison = new MultipartRequestDescCaseBuilder().build();
- validation(multipartReqInput, xid, type, defaultBodyForComparison);
- Assert.assertTrue(multipartReqInput.getFlags().isOFPMPFREQMORE());
+ public void testMakeMultipartRequestInputExperimenter() {
+ MultipartType mpType = MultipartType.OFPMPEXPERIMENTER;
+ final MultipartRequestInput mpRqInput =
+ (MultipartRequestInput) MultipartRequestInputFactory.makeMultipartRequest(xid, ofVersion, mpType, false);
+ checkHeader(mpRqInput, mpType);
+ checkEmptyBody(mpRqInput.getMultipartRequestBody().getImplementedInterface(),
+ MultipartRequestExperimenterCase.class);
}
- /**
- * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, boolean, MultipartRequestBody)}.
- * {@link MultipartType.OFPMPDESC}
- * note: we are able to add next test suite for all MultipartType but I guess it is same as suite before
- */
- @Test
- public void testMakeMultipartRequestInputLongShortMultipartTypeBooleanMultipartRequestBody() {
- final long xid = 1l;
- final MultipartType type = MultipartType.OFPMPDESC;
- final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
- final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, true, body);
- validation(multipartReqInput, xid, type, body);
- Assert.assertTrue(multipartReqInput.getFlags().isOFPMPFREQMORE());
+ private void checkHeader(MultipartRequestInput mpRqInput, MultipartType mpType) {
+ Assert.assertFalse(mpRqInput.getFlags().isOFPMPFREQMORE());
+ Assert.assertEquals(ofVersion, mpRqInput.getVersion().shortValue());
+ Assert.assertEquals(mpType, mpRqInput.getType());
+ Assert.assertEquals(xid, mpRqInput.getXid().longValue());
}
- private void validation(final MultipartRequestInput multipartReqInput, final long xid, final MultipartType type, final MultipartRequestBody body) {
- Assert.assertNotNull(multipartReqInput);
- Assert.assertEquals(xid, multipartReqInput.getXid().longValue());
- Assert.assertEquals(ofVersion, multipartReqInput.getVersion().shortValue());
- Assert.assertNotNull(multipartReqInput.getType());
- Assert.assertEquals(type, multipartReqInput.getType());
- Assert.assertNotNull(multipartReqInput.getMultipartRequestBody());
- Assert.assertEquals(body.getClass(), multipartReqInput.getMultipartRequestBody().getClass());
- Assert.assertEquals(body, multipartReqInput.getMultipartRequestBody());
+ private void checkEmptyBody(Class<? extends DataContainer> mpRqBody, Class<? extends
+ MultipartRequestBody> expectedMpRqBodyClass) {
+ Assert.assertTrue(expectedMpRqBodyClass.isAssignableFrom(mpRqBody));
+ Assert.assertEquals(expectedMpRqBodyClass, mpRqBody);
}
}